昨天學了static關鍵字,今天接著學習final關鍵字。final關鍵字有三個東西可以修飾的。修飾類,方法,變量。詳細解釋一下:
1、在類的聲明中使用final
使用了final的類不能再派生子類,就是說不可以被繼承了。有些java的面試題里面,問String可不可以被繼承。答案是不可以,因為java.lang.String是一個final類。這可以保證String對象方法的調用確實運行的是String類的方法,而不是經其子類重寫后的方法。
2、在方法聲明中使用final
被定義為final的方法不能被重寫了,如果定義類為final的話,是所有的方法都不能重寫。而我們只需要類中的某幾個方法,不可以被重寫,就在方法前加final了。而且定義為final的方法執行效率要高的啊。
3、在變量聲明中使用final
這樣的變量就是常量了,在程序中這樣的變量不可以被修改的。修改的話編譯器會抱錯的。而且執行效率也是比普通的變量要高。final的變量如果沒有賦予初值的話,其他方法就必需給他賦值,但只能賦值一次。
總結:
這個關鍵字并不是很難理解,final的英文意思是“最終的”。他修飾了什么東西都是最終的。不可以改變的。效率也比較高。通常在java的優化編程中往往會提及到這一點。