我想要类似于 的东西protected
,其中只有实现该protected
字段的类及其子类的任何内容都可以访问它。
所以,我希望能够将基类中的变量声明为private
,但仍然能够从子类中访问它。
也许这违背了子类化的本质private
,和/或protected
。
Java中是否存在类似的东西?
我想要类似于 的东西protected
,其中只有实现该protected
字段的类及其子类的任何内容都可以访问它。
所以,我希望能够将基类中的变量声明为private
,但仍然能够从子类中访问它。
也许这违背了子类化的本质private
,和/或protected
。
Java中是否存在类似的东西?
Java 中的字段只有四种访问级别:
private
protected
public
protected
将允许子类、同一包中的其他类以及类本身中的成员访问该protected
成员。
简短的回答是,没有办法完全达到预期的效果。
有关这四个访问修饰符的描述,Java 教程中的控制对类成员的访问有更具体的信息。
如果您控制代码库,则始终可以使用基类控制进入包的内容 - 如果它在其包中单独存在,则只有子类可以访问您想要保持私有的成员,子类除外。
不,没有访问修饰符可以做到这一点。修饰符是最接近的protected
东西,但是它将字段暴露给同一包中的任何类以及子类(在同一包中或在同一包中)。
不可能。您仍然可以将您的变量声明为私有,然后声明修改超类中的变量的公共方法。然后调用变量的公共方法。