Java中的final關鍵字

Java中的final關鍵字修飾的項不可更改。具體來說就是

  • final class不能被繼承
  • final 變量的值不能更改
  • final方法不能被覆寫。

final修飾的變量值得多說兩句,對於引用類型的變量,final的意思是聲明變量時它指向哪個對象,它就要一直指向那個對象,那個對象變化與否都沒關係。上代碼:

public class FinalDemo {
    
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("original string");
        sb = new StringBuffer("another string");
    }
}

這段代碼可以編譯通過。

public class FinalDemo {
    
    public static void main(String[] args) {
        final StringBuffer sb = new StringBuffer("original string");
        sb = new StringBuffer("another string");
    }
}

這段代碼編譯時會報錯:FinalDemo.java:5: 錯誤: 無法爲最終變量sb分配值
sb = new StringBuffer(“another string”);
^
1 個錯誤

public class FinalDemo {
    
    public static void main(String[] args) {
        final StringBuffer sb = new StringBuffer("original string");
        sb.append("another string");
    }
}

這段代碼可以編譯通過。

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