【发布时间】:2018-05-06 22:59:31
【问题描述】:
假设我在 java 中有四个具有给定层次结构的类。
class A {}
class B extends A {}
class C extends B {}
class D extends C {}
据我了解,A 类的所有可访问字段都将通过继承对其所有子类可用。现在,如果我希望 A 类的少数字段仅对 B 类可用。
在 java 中有什么方法可以将父类的某些字段限制为其直接子类吗?
【问题讨论】:
-
如果这真的是你想要的,那么你的类设计很可能是错误的。您的问题的真正用例是什么?
-
我真的不明白面试中这种没有实际生活价值的问题。真的很烂
-
我不了解您的用例,但请注意违反 Liskov 替换原则
-
我感觉您有兴趣先阅读this。然后在面试回复中主要是同一行,即使在这种情况下通过反思提供了一些答案。
-
@user8001621 不建议接受那份工作。听起来他们没有像样的设计技能。
标签: java inheritance access-modifiers restriction