【发布时间】:2012-01-19 13:27:42
【问题描述】:
可能重复:
What should the accessablity of Fields in a Abstract Class be?
在抽象类中使用公共字段是不好的做法吗?我问这个的原因是因为当我从抽象类继承时,我无法从子类访问私有字段,据我所知,解决这个问题的唯一方法是要么公开该字段,要么创建获取/设置方法来访问该字段...哪种做法最好?
【问题讨论】:
标签: java oop abstract-class
可能重复:
What should the accessablity of Fields in a Abstract Class be?
在抽象类中使用公共字段是不好的做法吗?我问这个的原因是因为当我从抽象类继承时,我无法从子类访问私有字段,据我所知,解决这个问题的唯一方法是要么公开该字段,要么创建获取/设置方法来访问该字段...哪种做法最好?
【问题讨论】:
标签: java oop abstract-class
总是有受保护的字段
【讨论】:
最佳做法是使用可能受保护或公开的 getter 和 setter。
如果使用 getter 和 setter 看起来有点过头了,因为您的所有实现都将使用抽象类本身在同一个包或模块中开发,您可以使用受保护的字段。我认为它不是最佳实践,而是一种务实的选择。
在您的情况下,受保护的成员可能是更好的选择,因为它将允许从类或任何派生类中访问该成员。
正如article 中所见,Java 程序中的成员函数可见性。 文章,包括一个针对不同 Java 访问器以及何时/为何使用它们的漂亮表格。
【讨论】: