【问题标题】:public fields in abstract class? [duplicate]抽象类中的公共字段? [复制]
【发布时间】:2012-01-19 13:27:42
【问题描述】:

可能重复:
What should the accessablity of Fields in a Abstract Class be?

在抽象类中使用公共字段是不好的做法吗?我问这个的原因是因为当我从抽象类继承时,我无法从子类访问私有字段,据我所知,解决这个问题的唯一方法是要么公开该字段,要么创建获取/设置方法来访问该字段...哪种做法最好?

【问题讨论】:

    标签: java oop abstract-class


    【解决方案1】:

    总是有受保护的字段

    【讨论】:

      【解决方案2】:

      最佳做法是使用可能受保护或公开的 getter 和 setter。

      如果使用 getter 和 setter 看起来有点过头了,因为您的所有实现都将使用抽象类本身在同一个包或模块中开发,您可以使用受保护的字段。我认为它不是最佳实践,而是一种务实的选择。

      【解决方案3】:

      在您的情况下,受保护的成员可能是更好的选择,因为它将允许从类或任何派生类中访问该成员。

      正如article 中所见,Java 程序中的成员函数可见性。 文章,包括一个针对不同 Java 访问器以及何时/为何使用它们的漂亮表格。

      【讨论】:

        猜你喜欢
        • 2018-08-25
        • 1970-01-01
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 2016-03-19
        • 2015-05-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多