Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以你怎么看?
我的 Java 讲师说属性应该总是被声明为私有的,没有理由应该以任何其他方式来做。我立即开始思考继承,它会如何影响它。
你的意思是声明这个字段是私有的吗?如果是这样,我同意你的讲师的观点,尽管“没有理由”可能有点矫枉过正。使用非私有字段的原因非常偶然——例如在私有嵌套类中。
但是,是的,在一个简单的超类/子类关系中,我会使用 getter/setter 而不是使字段受到保护。它将实现与类公开的API分开- 甚至与其子类分开。
Private 会阻止扩展原始类的类直接访问它。一般来说,如果您希望扩展原始类并希望继承类能够直接修改该特定类成员,我认为受保护是声明变量的更好方法。