色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JAVA只可以單繼承但是object又是每個(gè)類的超類,在這基礎(chǔ)上類還可以繼承一個(gè)類,是什么原理?

1.Java只支持單繼承,但是可以實(shí)現(xiàn)多個(gè)接口。如果A沒(méi)有顯示繼承任何類,系統(tǒng)會(huì)默認(rèn)繼承Object類,但是如果A顯示繼承了B,系統(tǒng)就不會(huì)給A默認(rèn)繼承Object了,但是A會(huì)繼承B,B繼承Object,相當(dāng)于A間接繼承了Object。

2.說(shuō)到繼承就會(huì)想到面向?qū)ο罄锩娴囊粋€(gè)原則:優(yōu)先使用組合而不是繼承。為什么了?

首先,繼承和組合都是都可以達(dá)到代碼復(fù)用的效果。個(gè)人覺(jué)得有以下幾點(diǎn)考慮:

1.繼承的父類也就繼承了父類的成員,增加耦合性

2.父類有變動(dòng),會(huì)影響子類,而組合只需要確保接口穩(wěn)定

3.子類繼承父類在編譯期就決定了,不能動(dòng)態(tài)變化,而組合可以根據(jù)需要使用不同的實(shí)現(xiàn)類。

所以,組合更加靈活,具有可擴(kuò)展性。

但是如果需要向上轉(zhuǎn)型,或者明確類關(guān)系是is-a的關(guān)系還是需要使用繼承的。

希望對(duì)你有幫助,可以關(guān)注我,持續(xù)分享Java方面知識(shí),謝謝。