Java-final關鍵字
阿新 • • 發佈:2018-02-27
ide 覆蓋 繼承 子類 編譯器 bsp world hello str
final:最終的,到此為止
分三種情況:
1、修飾類
表示該類不能被繼承和擴展
final class A {} class B extends A {}// 編譯器報錯,表示無法繼承
2、修飾方法
子類無法覆蓋和重寫該方法
class A { final void method() {} } class B extends A { @override void method() {}// 編譯器報錯,無法重寫該方法 }
3、修飾變量
對對象來說,保證變量的引用不變,其值可以被修改
對基本類型數據時,保證值不變。修飾方法參數時也是一樣
public class FinalDemo {public static void main(String[] args) { String a = "Hello2"; final String b = "Hello"; String c = b + 2; System.out.println(a.equals(c)); String d = "Hello"; String e = d + 2; System.out.println(a.equals(e)); // 修改當前對象的數值final StringBuffer tempbuffer = new StringBuffer("Hello, world!"); tempbuffer.append("This is final string!"); // tempbuffer = new StringBuffer();// 無法重新引用新的數據 } }
Java-final關鍵字