java第五章:面向对象(oop)
方法重寫/覆寫(Override)
特點(diǎn):
1一般發(fā)生在父子類間,子類重寫父類中的方法,方法的返回值類型,方法名,形參列表都要與父類一樣,
子類權(quán)限修飾符>=父類的權(quán)限修飾符
2.一旦重寫了父類的方法,子類創(chuàng)建對(duì)象后,調(diào)用子類重寫后的方法;
3.@Override:重寫的注解,標(biāo)注當(dāng)前方法為重寫父類的方法,必須滿足重寫規(guī)則;
方法重載和重寫的區(qū)別:
1.重載發(fā)生在同一個(gè)類中,主要提供同名不同參的方法;重寫發(fā)生在父子類之間,主要為了結(jié)合多態(tài)使用,提高程序的擴(kuò)展性和可維護(hù)性
2.重載,方法名相同,參數(shù)列表不同,跟返回值類型和權(quán)限修飾符沒有關(guān)系;重寫,方法名、參數(shù)列表、返回值類型要與父類相同,子類權(quán)限修飾符>=父類權(quán)限修飾符。
?
super關(guān)鍵字(類比this關(guān)鍵字)
super是對(duì)直接父類的引用,可以使用super關(guān)鍵字調(diào)用父類的屬性(super.屬性名),方法(super.方法名),構(gòu)造方法(super(屬性1,屬性2....)必須放在構(gòu)造函數(shù)的第一行).
Object類
Object 是所有類的超類、基類、根類,處于java.lang包下,沒有使用extends關(guān)鍵字的類,默認(rèn)extends Object;
Object類中的常用方法:
1.toString();將傳入的對(duì)象以字符串的形式輸出
2.equals();比較的2個(gè)引用數(shù)據(jù)類型,比較的是引用(地址),需要比較內(nèi)容時(shí)候,一般都需要重寫equals方法;
3.wait()/notify():多線程有關(guān)
4.getClass():返回此 Object 的運(yùn)行時(shí)類。
5.hashCode():返回該對(duì)象的哈希碼值
6.finalize():當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。
?
在繼承中程序的執(zhí)行順序:
父類靜態(tài)代碼塊>子類靜態(tài)代碼塊>父類代碼塊>父類構(gòu)造方法>子類代碼塊>子類構(gòu)造方法
new子類的時(shí)候,會(huì)先調(diào)用父類的構(gòu)造方法,首先創(chuàng)建父類對(duì)象,然后再創(chuàng)建子類實(shí)例。
?
==和equals的區(qū)別
1.==比較基本數(shù)據(jù)類型的時(shí)候,比較的是值
2.比較引用數(shù)據(jù)類型的時(shí)候,==和equals的效果一樣,比較的是當(dāng)前對(duì)象的引用(地址)
3.想要比較對(duì)象的內(nèi)容,需要重寫equals方法
轉(zhuǎn)載于:https://www.cnblogs.com/SXTzhaopengda/p/6953924.html
總結(jié)
以上是生活随笔為你收集整理的java第五章:面向对象(oop)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派发布全新计算模块CM3,性能提升1
- 下一篇: 阿里内核月报2015年03月