java 调用祖父方法_在Java中调用祖父母方法:您不能
java 調(diào)用祖父方法
在文章保護的重點中,我詳細介紹了“受保護”如何擴展“包私有”訪問。 我在那兒寫道:
你能做的是
- 覆蓋子類中的方法或
- 使用關(guān)鍵字super調(diào)用parent方法。
通常,這實際上是您可以使用受保護的方法完成的所有操作。
(請注意,在本文中,我討論了方法和方法調(diào)用,但是關(guān)于字段,構(gòu)造函數(shù)的說法非常相似。)
如果您可以調(diào)用super.method()來訪問父級的method()即使實際的類已被覆蓋,那么為什么不能調(diào)用super.super.method()呢?
絕對正確且簡短的答案是:因為Java語言不允許您這樣做。 (盡管JVM可以 ,但是您不應(yīng)該這樣做。)您不能直接訪問祖父母方法而跳過父方法。 有趣的問題是:為什么?
原因在于面向?qū)ο蟮脑瓌t。 擴展類時,將擴展該類的已定義功能。
父類擴展了另一個類(祖父母類)的事實是實現(xiàn)的一部分,與該類之外的任何其他代碼無關(guān)。 這是封裝的基本原理:向外部世界宣傳類的定義功能,但將實現(xiàn)保持私有狀態(tài)。 有些秘密甚至對您的兒子也不為人知。 “ Nich vor dem kind。”
通常這是原因。 如果您可以直接訪問祖父母,則將創(chuàng)建對父親實現(xiàn)的依賴,這將違反封裝。
翻譯自: https://www.javacodegeeks.com/2015/01/calling-grandparent-methods-in-java-you-can-not.html
java 調(diào)用祖父方法
總結(jié)
以上是生活随笔為你收集整理的java 调用祖父方法_在Java中调用祖父母方法:您不能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反向裁剪cad快捷键(反向裁剪cad快捷
- 下一篇: 快速解决Win10开始菜单打不开的方法(