1. 程式人生 > >Java-final關鍵字

Java-final關鍵字

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關鍵字