static 、final關鍵字

一、static關鍵字

1.static可以修飾類、變量、方法、靜態代碼塊

2.被static修飾的變量是對象公共的變量,當其中一個對象改變其值時,其它對象中該變量的值也會跟着改變

 

3.父類中被static修飾的方法不能重寫,只能被繼承,當父類中方法被static 修飾時,繼承它的子類同名的方法必須也被static修飾

被static修飾的變量和方法可以直接被類名調用

4.static修飾靜態代碼塊  static {}

1)靜態代碼塊位於類中,當java編譯時將從class文件加載到JAVA虛擬機時就執行了靜態代碼塊,靜態代碼塊的作用是完成一些初始化的工作。new 一個對象時,首先執行其父類中的靜態代碼塊,然後再執行子類中的靜態代碼塊,執行完靜態代碼塊後再執行父類的構造方法,然後再執行子類的構造方法;靜態代碼塊是在類被加載時執行的,而構造方法是在生成對象的時候執行。要想調用某個類生成對象,首先要將類加載到JAVA虛擬機中(JVM),然後JVM加載這個類生成對象。

2)類的靜態代碼塊只會執行一次,是在類被加載的時候執行的,因爲每個類只會被加載一次,所以靜態代碼塊也只會被執行一次。而構造方法,每生成一個對象時,執行一次。

 

5、  靜態的只能訪問和使用靜態的,非靜態的可以訪問一切

    1)不能在一個靜態的方法中訪問一個非靜態的成員變量

    2)可以在一個靜態的方法中訪問一個靜態的成員變量

    3)可以在一個非靜態的方法中訪問一個非靜態的成員變量

    4)可以在一個非靜態的方法中訪問一個靜態的成員變量

6、不能在靜態方法中使用this關鍵字

 

二、final關鍵字

1.final可以修飾類、變量、方法

2、final修飾的類叫做“終類”,final修飾一個引用類型時,表示該引用類型不能再指向其他對象了(不能被重新生成新的對象),但該引用所指向的對象的內容(變量或方法)可以發生變化

3、被final修飾的變量稱爲“常量”,聲明時必須賦值,且賦值後不能被改變或重新賦值;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章