问题在于这两处产生的:
if (s==null)
{
Single s=new Single();// 1:Single s 这个s是你重定义的,只在if语句内有效 4:这块改成s=new Single();就ok了
}
return s; //2:而你反回这个是private static Single s;这个s,这个s你没new啊,默认就是null了
Single s2=Single.getInstance();
s2.setAge(33); //3:Single.getInstance()返回s2就是null, null不能方法调用所以就报错了, |