【发布时间】:2024-01-01 18:55:01
【问题描述】:
这两句话有什么区别:
AA- 与实例的超类位于同一包中的子类可以覆盖任何未声明为私有或最终的超类方法。
BB- 不同包中的子类只能覆盖声明为 public 或 protected 的非最终方法。
我相信每个方法都可以从它的超类中重写,如果它不是最终的
在 java 中,私有方法是“自动最终的,并且对派生类隐藏”
在 java 中,任何非静态方法都可以是 public、protected 或 private
所以从句子 AA 我得出结论,只有公共和受保护的超类的方法可以被覆盖
和sentenceBB一样
所以我混淆了2个句子之间的区别是什么?
【问题讨论】:
-
AA 可以覆盖包私有方法,而 BB 不能。
-
你忘记了默认修饰符
标签: java inheritance overriding