Java学习笔记3——继承
繼承
繼承的好處:子類擁有父類的所有屬性和方法,peivate修飾的無效;實(shí)現(xiàn)代碼復(fù)用
重寫
方法重寫:子類可以重寫父類繼承的方法,當(dāng)調(diào)用方法會(huì)優(yōu)先調(diào)用子類的方法
語法規(guī)則:a:返回值類型 b:方法名 c:參數(shù)類型及個(gè)數(shù) ?都要與父類繼承的方法相同,才叫方法重寫
3. 繼承的初始化順序: 1)初始化父類再初始化子類 ?2)先執(zhí)行初始化對(duì)象中的屬性,再執(zhí)行構(gòu)造方法中的初始化
Java中的final的使用
final最終,不可修改的意思;final可以修飾類、方法、屬性和變量。final修飾類,則該類不允許被繼承;修飾方法,則該方法不可被重寫;修飾屬性,則該類屬性不會(huì)進(jìn)行隱式的初始化(類初始化屬性必須有值)或者在構(gòu)造方法中賦值(但只能選其一)。final修飾變量,則該變量的值只能賦一次的值,即變?yōu)槌A俊?/p>
Java中的super的使用
super:在對(duì)象內(nèi)部使用,可以代表父類對(duì)象
訪問父類對(duì)象的屬性:super.age; ?訪問父類對(duì)象的方法:super.eat()
super的應(yīng)用:1)子類的構(gòu)造過程中必須調(diào)用其父類的構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類無參的構(gòu)造方法,隱式調(diào)用super();2)如果子類構(gòu)造方法中既沒有顯式調(diào)用父類的構(gòu)造方法,而父類又沒有無參的構(gòu)造方法,則編譯出錯(cuò),需要在子類構(gòu)造方法中的第一行加上 super().
Java中的Object類
1.Object類是所有類的父類,如果一個(gè)類沒有使用extends繼承另一個(gè)類,那么這個(gè)類默認(rèn)繼承Object類。Object類中的方法適合所有子類。
1)toString():返回對(duì)象的哈希code碼,可以通過重寫toString()方法表示出對(duì)象的屬性——Eclipse有自動(dòng)幫我們重寫toString()的方法,Eclipse->Source->Generate toString()
2)equals():比較的是對(duì)象的引用是否指向同一塊內(nèi)存Dog dog = new Dog()
一般情況下是比較兩個(gè)對(duì)象時(shí)是比較他的值是否一致,所以要進(jìn)行重寫。
Eclipse->Source->Generate hashCode() and equals()
重寫后,比較兩個(gè)對(duì)象的值是否相同:
public?boolean?equals(Object?obj)?{if?(this?==?obj)return?true;if?(obj?==?null)return?false;if?(getClass()?!=?obj.getClass())return?false;Dog?other?=?(Dog)?obj;if?(age?!=?other.age)return?false;return?true;}轉(zhuǎn)載于:https://blog.51cto.com/ankneo/1567998
總結(jié)
以上是生活随笔為你收集整理的Java学习笔记3——继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络流之 最短增广路算法模板(SAP)
- 下一篇: windows 下使用 Filezill