0

有一个名为 demo 的项目,它由两个包组成,名为 aa 和 bb。

在包 aa 中,我有一个公共类 One,它有一个带有 protected 作为修饰符的方法。

现在在另一个包 bb 中,我有一个公共类 2,它想要访问包 aa 类 One 的受保护方法。

请告知如何完成..!

4

4 回答 4

3

protected方法仅在同一个类、同一个包中的类和扩展它的类中可见

于 2012-08-09T09:08:06.000 回答
3

在继承之前,您不能从另一个包中的类访问受保护的成员/方法。

您有以下选择:

  1. public Class Two extends One
  2. 在同一个包中添加第一类和第二类。
于 2012-08-09T09:08:57.567 回答
1

受保护的方法仅在派生类或同一包中的类中可见。
由于受保护的方法位于不同的类中,因此您有两种选择:

  1. 将访问说明符更改为public
  2. 从带有说明符的类派生 using 类protectedclass Two extends One

还有第三种选择,即在类二中重现受保护的方法。这是推荐的,而且并不总是可行的——例如,如果该方法处理的是类 One 私有的成员。

于 2012-08-09T09:09:58.137 回答
0

Jigar 和 SL Barth 说的是对的,即它只能从派生类或同一个包中的类访问。

有关更多信息,Java 官方文档非常清楚地说明了方法的可访问性和可见性。

控制对类成员的访问

于 2012-08-09T09:13:27.600 回答