可能重复:
What should the accessablity of Fields in a Abstract Class be?
在抽象类中使用公共字段是不好的做法吗?我问这个的原因是因为当我从一个抽象类继承我不能从子类访问私有字段时,据我所知,围绕这个的唯一方法是将该字段公开,或者创建获取/设置访问该字段的方法......哪种做法最好?
答案 0 :(得分:6)
总是有受保护的字段
答案 1 :(得分:5)
最佳做法是使用getter和setter,可能是受保护的或公开的。
如果使用getter和setter似乎过度杀戮,因为所有实现都将使用抽象类本身在同一个包或模块中开发,您可以使用受保护的字段。我不认为这是一种最佳实践,而是一种务实的选择。
答案 2 :(得分:1)
在您的情况下,受保护的成员可能是更好的选择,因为它允许从类或任何派生类中访问该成员。
如此article中所见,关于Java程序中的成员函数可见性。 文章,包括一个用于不同Java访问器的好表,以及何时/为何使用它们。