1.被final關鍵字修飾的類不能被繼承
final class Father{ } public class Son extends Father { } //Son不能繼承Father類
2.final 修飾的方法不能被重寫
3.final 修飾的變量叫常量,常量必須初始化,初始化之后值就不能被修改
(1)對於一個final變量,如果是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。
上面的一段代碼中,對變量i和引用型String a的重新賦值都報錯了,而b沒報錯。
(2)引用變量被final修飾之后,雖然不能再指向其他對象,但是它指向的對象的內容是可變的。如下解釋
public class Test { public static void main(String[] args) { final MyClass myClass = new MyClass(); System.out.println(++myClass.i); } } class MyClass { public int i = 0; }