- final的變量的值不能夠被改變
- final的成員變量
- final的局部變量(形參)
- final的方法不能被重寫
- final的類不能被繼承
TestFinal.java
public class TestFinal { public static void main(String[] args) { T t = new T(); t.i = 9;//i無法被指定值,會報錯. } } class T { final int i = 8; //這個時候i這個值不允許改變 public void m(final int j) { j = 9; //不能再方法中進(jìn)行改變 } } class TT extends T { public void m() { j = 9; //會報錯,無法被繼承 } }
這個東西只讀,不能寫,在繼承中重寫依舊不可以,用來鎖定.JDK中的final類有String,Math,boolean,不被任何人繼承,用來封裝保護(hù)程序很不錯.