![]() 1. final final可以修飾類,成員方法,成員變量;表示最終的,不能修改,不能繼承的: •final類不能被繼承,類中的方法默認是final方法,但類中的成員變量不是。 •final方法不能被子類覆蓋,可以這樣理解:JAVA中的普通方法等于C++的虛方法,JAVA中的final方法等于C++中的普通方法。 •final成員表示常量,只能在聲明時賦值一次,以后不能再被賦值。 public class Test { private final String S="final實例變量"; private final int A=10; } •final函數參數表示該參數為常量,不能在函數中改變: public void f1(final int i){ i++; //錯誤:i是final類型的,值不允許改變 System.out.print(i); } 2. static static表示全局靜態,用來修飾成員方法,成員變量,可以形成static代碼塊: •static方法與c++的靜態方法類似,不必創建類實例即可使用,不能使用this和super關鍵字,且只能訪問類中的static成員或static方法。 •static成員變量與C++的靜態成員類似,為所有類實例共用,注意JAVA沒有局部靜態變量。 public class Main { static int i = 100; } •static靜態代碼塊,是在JVM加載類時就執行的代碼塊,只執行一次,可以用來初始化靜態變量: public class Main { static int i = 100; static { i = 30; } public static void main(String[] args) { // 此處i應該是30 System.out.println(i); } } 3. final和static一起使用 類似于C++的全局常量: static final int j = 200 |