【问题标题】:Regarding accessing the protected method关于访问受保护的方法
【发布时间】:2012-08-06 11:28:55
【问题描述】:

有一个名为 demo 的项目,它包含两个包,分别是 aa 和 bb。

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

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

请告知如何完成..!

【问题讨论】:

    标签: java public protected


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      您有以下选择:

      1. public Class Two extends One
      2. 在同一个包中添加第一类和第二类。

      【讨论】:

        【解决方案3】:

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

        1. 将访问说明符更改为public
        2. 从具有protected 说明符的类派生使用类:class Two extends One

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

        【讨论】:

          【解决方案4】:

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

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

          Controlling Access to Members of a Class

          【讨论】:

            猜你喜欢
            • 2020-07-26
            • 1970-01-01
            • 2011-08-14
            • 2014-12-19
            • 2014-12-29
            • 2013-04-06
            • 2014-10-31
            • 1970-01-01
            • 2020-05-02
            相关资源
            最近更新 更多