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");
}
}
這段代碼可以編譯通過。