有没有办法只有继承类的类才能看到它的成员。它们都在同一个包中

时间:2016-03-22 08:50:37

标签: java class oop inheritance

例如,我们有三个班级。

A类有一些成员 B类延伸A类 我们得到了主要课程 它们都在同一个包装中!

有没有办法让A类成员只能在B类中访问,因为B类扩展了A类。

如果我们在A类中使用私有成员,那么B类就无法看到我们继承的成员。

但是如果我们在A类中使用公共成员,那么两个类main和b都可以看到它的成员。

4 个答案:

答案 0 :(得分:2)

据我了解您的问题,您无法做到这一点。无论您是定义字段protected还是使用无修饰符,您的班级B和您的Main类始终都可以访问该字段。

此处的简单解决方案是将您的班级A移至子包并声明字段protected。这样,只有A的子类和子包中的类才能访问该字段。

答案 1 :(得分:1)

使用" 受保护"访问修饰符

protected :只有此类的当前类和子类(有时也包括同名包类)才能访问该字段或方法。

答案 2 :(得分:0)

使用protected访问修饰符。

答案 3 :(得分:0)

A类是B类的超级类, 您可以从任何地方从超类访问,创建该类类型的对象以及此方法是否公开。如果它们是私有的,那么只有你可以从classe的实现中访问它们,虽然不太明白你的意思...解释自己好一点

protected是一种类,它的功能是为同一类类型的成员发布的,对所有其他类是私有的。