3 回答
TA贡献1806条经验 获得超5个赞
如果要object
始终使用单个,请使用Singleton
模式,
如果要从代码的不同部分初始化字段,请使用setter
该字段的方法。
对于第 1 点,我建议您使用
Singleton
模式。
TA贡献1856条经验 获得超11个赞
你可以使用单例。使用 anenum表示单例。对于可变字段,读取和写入的访问应该同步。或者您可以查看AtomicReference, 或java.util.concurrent包中的其他原子实现。
例如:-
enum Singleton{
INSTANCE("Value");
private final String value;
private String otherValue;
Singleton(String val){
value = val;
}
public void doSomething(){
//actions
}
public synchronized void setOtherValue(String value){
this.otherValue = value;
}
public synchronized String getOtherValue(){
return otherValue;
}
}
TA贡献1772条经验 获得超6个赞
对于单个对象创建,您可以通过创建私有构造函数来限制您的类创建多个对象
示例:
class Test
{
private static Test single_instance = null;
public String s;
private Test()
{
s = "example";
}
public static Test getInstance()
{
if (single_instance == null)
single_instance = new Test();
return single_instance;
}
}
添加回答
举报