final:
final修飾的變量為常量,隻能指派一次,指派後不可修改。
final方法不能被子類重寫
final類不能被繼承
1、final變量
必須初始化,初始化必須在聲明時或者構造方法中直接指派。不能通過函數指派。
2、final方法
final方法不能被子類覆寫
好處:1、防止子類修改,改變它本身的意義。
2、編譯器執行final方法時效率更高(會使用inline機制)
3、所有private方法其實都是final的。是以無法被覆寫。
3、final類
final類不能被繼承,final類的成員方法都是final的,因為它沒有機會被覆寫。在自己的某個類不需要有子類,類的實作不允許改變也不會被擴充的時候就可以使用final來修飾這個類。
4、使用static final修飾的常量,執行個體本身不能改變。但是對于一些容器類,比如ArryList、HashMap的執行個體變量,容器本身不能改變但是可以修改容器裡存放的資料。