java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
我們知道,繼承,組合,重載,重寫是java語言的面向?qū)ο髮?shí)現(xiàn)的基本特征。 那么在java內(nèi)部,究竟是如何實(shí)現(xiàn)這些面對對象的基本特征的呢?
繼承和組合是面向?qū)ο笾写a復(fù)用的主要實(shí)現(xiàn)方式,他們可以達(dá)到類似的效果,就是提高代碼的復(fù)用。
組合很簡單也很直觀,就是在一個(gè)類中直接引用另一個(gè)類,然后調(diào)用引用類的一些方法來完成一些功能,適合領(lǐng)域模型中has-a關(guān)系的實(shí)現(xiàn);而繼承則適合領(lǐng)域模型中is-a關(guān)系的實(shí)現(xiàn)。
其實(shí)在Java內(nèi)部,是通過隱式的組合來實(shí)現(xiàn)繼承的。 子類對象中會保存一個(gè)實(shí)例對象的引用super,該引用指向其父類。 在實(shí)際的方法調(diào)用時(shí),java會先在當(dāng)前類的對象中尋找名稱相同的方法,如果沒有,就到super引用的父類對象中去尋找該方法,所以,若在子類中存在和 父類方法的簽名和返回值類型完全相同的方法(重寫)的話,java就會直接調(diào)用該對象的方法而不用去父類去尋找調(diào)用方法了。而且在子類對象中,可以直接通 過super來調(diào)用父類對象中的方法。
http://blog.csdn.net/walkingmanc/article/details/6191437
總結(jié)
以上是生活随笔為你收集整理的java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java threadlocal 缺点_
- 下一篇: java异常了还会往下走吗_异常一个问题