我有一个问题,希望你能帮助我:
我有一个抽象类,它包含一些实用程序抽象方法,但我希望这些方法仅限于子类,我显然不能使用私有修饰符,但 protected 是不够的,因为在同一个包中也有不扩展它的类,但是如果扩展的那些它们可以使用这些方法在它们中实例化:
我该怎么办? 谢谢!
答案 0 :(得分:2)
你无法做到。唯一的方法是以某种方式重新排列包结构,只有基类及其子类在包内。要实现这一目标,您可以将所有不是孩子的课程移到子包中 - 他们不会看到受保护的方法。
出于好奇 - 你为什么需要这个?我想到的唯一原因是防止程序员出错,因为恶意代码无论如何都可以使用反射访问这些方法。