您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java中如何使用Final類和Fianl方法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java中如何使用Final類和Fianl方法”這篇文章吧。
Final類
當關鍵字final用來修飾類時,其含義是該類不能再派生子類,換句話說,任何其他類都不能繼承用final修飾的類,即使該類的訪問權限為pubilc類型,也不能被繼承;否則,將編譯報錯。
只有當需要確保類中的方法都不被重寫時才應該建立最終(final)類,final關鍵字將會為這些方法提供安全,沒有任何人能夠重寫final類中的方法,因為不能繼承。
例:
package chapeter04; final class Father { } public class Sample3_13 extends Father { public static void main(String[] args) { } }
報錯:
可以看出,編譯找不到Father類。
Final方法
當關鍵字final修飾方法后,該方法在子類中將無法重寫,只能繼承,例:
package chapeter04; class Father { public final void show() { System.out.println("我是final方法,可以被繼承,但是不能被重寫"); } } class Son extends Father { } public class Sample4_15 { public static void main(String[] args) { // TODO Auto-generated method stub Son s= new Son(); s.show(); } }
運行結果:
可以看出,代碼正常編譯運行,final的方法show被成功繼承。但是若圖將final的方法在子類中重寫,將會編譯報錯:
class Son extends Father { public void show() { System.out.println("重寫Final方法"); } }
可以看出final的方法不能被繼承。
要恰當使用final方法,只有在子類覆蓋某個方法會帶來問題時,再將此方法設置為final方法,一般情況下不必使用。因為防止子類覆蓋會丟失一些面向對象的優點,包括通過覆蓋實現的可擴展性。
以上是“Java中如何使用Final類和Fianl方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。