动手动脑 - 继承与多态
1.運(yùn)行?TestInherits.java?示例,觀察輸出,注意總結(jié)父類與子類之間構(gòu)造方法的調(diào)用關(guān)系修改Parent構(gòu)造方法的代碼,顯式調(diào)用GrandParent的另一個(gè)構(gòu)造函數(shù),注意這句調(diào)用代碼是否是第一句,影響重大!
通過(guò)?super?調(diào)用基類構(gòu)造方法,必須是子類構(gòu)造方法中的第一個(gè)語(yǔ)句。
在Java類中使用supper來(lái)引用父類的成分,supper可用于訪問(wèn)父類中定義的屬性,成員方法和構(gòu)造方法,supper的追溯不僅直接追溯父類,還有father的father。
Supper關(guān)鍵字有兩個(gè)特殊用途,在子類構(gòu)造函數(shù)中調(diào)用父類的構(gòu)造函數(shù),在子類中調(diào)用父類的方法。
?
2.為什么子類的構(gòu)造方法在運(yùn)行之前,必須調(diào)用父類的構(gòu)造方法?能不能反過(guò)來(lái)?為什么不能反過(guò)來(lái)?構(gòu)造函數(shù)的主要作用是什么?
子類擁有父的成員變量和成員方法,如果不調(diào)用,則從父類繼承而來(lái)的成員變量和成員方法得不到正確的初始化。
不能反過(guò)來(lái)調(diào)用也是這個(gè)原因,因?yàn)楦割惛静恢雷宇愑惺裁醋兞?#xff0c;而且這樣一來(lái)子類也得不到初始化的父類變量,導(dǎo)致程序運(yùn)行出錯(cuò)!
構(gòu)造函數(shù)主要用于為對(duì)象分配空間,進(jìn)行初始化。
?
3.課堂例子運(yùn)行結(jié)果截圖
?
轉(zhuǎn)載于:https://www.cnblogs.com/cj-125/p/7816766.html
總結(jié)
以上是生活随笔為你收集整理的动手动脑 - 继承与多态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 查看python内部模块命令,内置函数,
- 下一篇: oracle数据导入与导出