读书人

java 单例类 总是出有关问题:可以在

发布时间: 2012-04-05 12:42:40 作者: rapoo

java 单例类 总是出问题:可以在 类中访问private
class singleton
{

private static singleton instance;
private singleton() { }
private singleton getinstance()
{
if (instance==null)
{
instance=new singleton();
}
return instance;
}


}



public class testsingleton
{


public static void main(String[] args)
{
singleton s1=singleton.getinstance();
singleton s2=singleton.getinstance();
System.out.println(s1==s2);

}
}

[解决办法]
class singleton
{

private static singleton instance;
private singleton() { }
private singleton getinstance()
{
if (instance==null)
{
instance=new singleton();
}
return instance;
}

}



public class testsingleton
{


public static void main(String[] args)
{
singleton s1=singleton.getinstance();
singleton s2=singleton.getinstance();
System.out.println(s1==s2);

}
}


红色应该修改为:

public static singleton getinstance()
{
if (instance==null)
{
instance=new singleton();
}
return instance;
}

必须定义为静态方法,同时应该为public,否则外部类没办法通过类名.getinstance()获得单例类的示例

读书人网 >J2SE开发

热点推荐