Java中final與繼承操作實例分析
本文實例講述了Java中final與繼承操作。分享給大家供大家參考,具體如下:
一 點睛
final在Java中被稱為終結器。
1 在基類的某個方法加了final,那么在子類中該方法被禁止二次“改造”。
2 通過在類的前面添加final關鍵字,便可以阻止基類被繼承。
二 實戰(zhàn)1——final標記的方法不能被子類覆寫實例
1 代碼
class Person { // 此方法聲明為final不能被子類覆寫 final public String talk() { return "Person:talk()" ; } } class Student extends Person { public String talk() { return "Student:talk()" ; } } public class TestFinalDemo { public static void main(String args[]) { Person S1 = new Student(); System.out.println(S1.talk()); } }
2 運行
3 說明
運行時發(fā)生了A JNI has occured錯誤,這里JNI指的是“Java Native interface(Java 本機接口)”。
三 實戰(zhàn)2——用final繼承的限制
1 代碼
//定義被final修飾的父類 final class SuperClass { String name; int age; } //子類SubClass繼承SuperClass class SubClass extends SuperClass { //do something } public class InheritRestrict { public static void main(String[] args) { SubClass subClass = new SubClass(); } }
2 運行
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The type SubClass cannot subclass the final class SuperClass
at SubClass.<init>(InheritRestrict.java:18)
at InheritRestrict.main(InheritRestrict.java:26)
更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
Spring Cloud Gateway調用Feign異步問題記錄
這篇文章主要介紹了Spring Cloud Gateway調用Feign異步問題記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04詳解MyBatis?ResultSetHandler?結果集的解析過程
這篇文章主要為大家介紹了MyBatis?ResultSetHandler?結果集的解析過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02IDEA報錯Error?running‘Application‘:Command?line?is?too?lo
這篇文章主要介紹了IDEA報錯Error?running?‘Application‘:Command?line?is?too?long的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06最簡單的Spring Cloud教程第一篇:服務的注冊與發(fā)現(Eureka)
這篇文章主要給大家介紹了關于Spring Cloud服務的注冊與發(fā)現(Eureka)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring cloud具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-08-08