您好,登錄后才能下訂單哦!
本篇內容介紹了“Java繼承的問題引導和測試方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.1、定義
1.2、創建子類
1.3、繼承的基本規則
1. 子類可以繼承除父類構造函數以外的一切成員
2. 雖然子類繼承了父類的私有成員,但子類并不能直接訪問,如果想要訪問私有成員必須借助父類的公共接口。
3. 只支持單一繼承,不支持多重繼承,但支持多層繼承
1.4、阻止繼承
1.4.1、final修飾符
1. final 修飾的類不能被繼承
2. final 修飾的方法不能被覆蓋
3. final 修飾的變量(成員變量和局部變量)必須顯式初始化,且只能初始化一次。
4. 常量定義的標準格式
從現有類派生的類被稱作子類,也叫派生類,擴展類,或孩子類。現有類被稱作超類,也叫基類,或父類。
public class Person {} public class Teacher extends Person{}
為什么子類沒有繼承父類的構造函數 ?
父類構造函數無法預知子類新增的屬性和方法,所以不能被繼承
public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Teacher extends Person{ // 方法覆蓋 public String getName() { // super 調用父類的功能接口 return super.getName() + "校長"; } } public class Test { public static void main(String... args) { Teacher flameking = new Teacher(); System.out.println( flameking.getName() ); } }
測試結果:
小結:
super.getName() + "校長"; 這樣便能訪問父類私有的 name 屬性 。所以在子類中可以通過super.父類公共接口 的形式,訪問父類的私有成員。
解釋:除了Object 沒有父類,每個類有且僅有一個直接父類,如果沒有明確指出父類,Object 被認為是這個類的父類。
也許有同學就會問了,既然 Object 是所有類的父類,那么為什么還可以繼承其他類呢?
正如解釋里所說:“沒有明確指出父類,Object 被認為是這個類的父類。”
沒有明確指出父類
public class Person {} public class Teacher {}
繼承關系是這樣的:
繼承后
public class Teacher extends Person{}
繼承關系如下:
也許有同學又會問:既然不能多重繼承了,那我要同時繼承多個類的功能該怎么辦呢?解決辦法如下:
// 第一種方式(??) public class Person {} public class Employee {} public class Teacher extends Person,Employee {}
// 第二種方式(??) public class Person {} public class Employee extends Person {} public class Teacher extends Employee {}
小結:
如上,既然不能多重繼承,那么利用多層繼承的方式便能同時繼承多個類的功能。
當我們在創建一個新類時,現有某個類包含我們想要的代碼,那么讓這個新類繼承它,這樣我們就不用重新編寫代碼,就可以復用已存在的屬性和方法。可是有某個同學他偏偏不想讓別人利用他的代碼…
那他怎么做才能讓自己的代碼不被別人繼承呢?
使用方法:
public final class Person {}
效果顯示:
修改 final 局部變量 的取值
public class Test { public static void main(String... args) { final int temp; temp = 1; temp = 2; } }
報錯提示:
final成員變量未顯式初始化
public class Person { private final String name; }
報錯提示:
public static final 數據類型 常量名=賦值
常量名:大寫字符,如果有多個,用下劃線連接
private 修飾的類成員只能在類的內部訪問,這是由面向對象的封裝性決定的
“Java繼承的問題引導和測試方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。