Wer*_*Boy 9 java android final private public
在我的实习期间,我的一位同事给了我一个暗示.我想知道这是不是很好的做法.
我正在做的是创建仅用于它们包含的值的类,并且没有任何实际执行某些操作的函数(除了具有getter,setter和构造函数).我声明我的变量是这样的:
public class ObjectIUse{
Private String name;
public ObjectIUse(String name){
this.name = name;
}
public String getName(){
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我没有使用setter因为它应该始终保持不变.我的同事说我也可以这样做:
public class ObjectIUse{
public final String name;
public ObjectIUse(String name){
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
因为现在我们不需要任何getter或setter因为它是公共的,但它也永远不会被更改,因为它是最终的.
哪个更好?或者它可能更适合仍然是私有但最终?我的意思是所有选项都很有效.我只是想知道哪个更好,为什么.