我已经开始使用setter方法而不是将参数放入默认构造函数中,因为这有助于更好地组织我的代码。
问题在于,在我正在做的项目中,唯一的变量是一个字符串,我不确定是否应该在声明时初始化它(作为全局变量?),在setter实例方法中初始化它还是在类构造函数中初始化它。
我想知道这种设置是否存在任何问题,例如实例在使用其setter方法之前未初始化:
class MyClass{
private String myString;
public MyClass(){
}
public void setStuff(String s){
this.myString=s;
}
}
myString = new String("Some string");
,但它会导致不必要的新字符串对象的创建(与直接使用文字值相比)。 - Hot Licks