final限定變量
如果在指定變量值之後,就不想再改變變量值,可以在聲明變量時加上final限定,如果後續撰寫程序時,自己或者別人不經意想改變final變量,就會出現編譯錯誤。
如果對象數據成員被聲明為final,但沒有明確使用=指定變量值,那表示延遲對象成員值的指定,在構造函數執行流程中,一定要有對該數據成員指定值的動作,否則編譯錯誤。
final限定類
如果class前使用了final關鍵字定義,那麼表示這個類是最後一個了,不會再有子類,也就是不能被繼承。如果打算繼承final類,則會發生編譯錯誤。比如String類是一個final類。
final限定方法
如果定義方法時限定該方法為final,這表示這是最後一次定義方法了,也就是說子類不可以重新定義final方法。如果在繼承父類後,重新定義final方法,則會發生編譯錯誤。比如java.lang.Object.notify()就是一個final方法。