Nic*_*ner 11 java scope private member
我正在equals(Object obj)为一个班级写一个函数.我看到可以obj从调用者访问私有字段.所以不要使用getter:
Odp other = (Odp) obj;
if (! other.getCollection().contains(ftw)) {
}
Run Code Online (Sandbox Code Playgroud)
我可以直接访问该字段:
Odp other = (Odp) obj;
if (! other.collection.contains(ftw)) {
}
Run Code Online (Sandbox Code Playgroud)
这是不好的做法吗?
不,这不对.私有变量和方法无法从其他类访问的原因是允许您更改类的内部,而无需更改使用该类的所有代码(并且防止类的用户例如设置变量)到一个它从未应该拥有的价值.
如果你使用其他对象的私有变量不会伤害任何东西,因为如果你重构你的类的内部,你必须改变类中的代码.
| 归档时间: |
|
| 查看次数: |
6136 次 |
| 最近记录: |