0
点赞
收藏
分享

微信扫一扫

java单例类


单例类:如果一个类始终只能创建一个实例,则这个类被称为单例类。
错误代码:

此处)折叠或打开


class Singleton{
;
(){}
public static Singleton getInstance()
     {
if (instance == null)
         {
();//如果这样写的话会返回false,因为创建了两个对象
         }
;
     }
 }
public class Hello {
public static void main(String[] args)
     {
= Singleton.getInstance();
= Singleton.getInstance();
.out.println(instance1==instance2);
.sub();
         
         
         
     }
 }

正确写法


此处)折叠或打开


class Singleton{
static Singleton instance;
(){}
public static Singleton getInstance()
     {
if (instance == null)
         {
instance = new Singleton();
         }
;
     }
 }
public class Hello {
public static void main(String[] args)
     {
= Singleton.getInstance();
= Singleton.getInstance();
.out.println(instance1==instance2);
.sub();
         
         
         
     }
 }

运行结果为true。



关于static方法的小知识点:


此处)折叠或打开


class NullData
 {
public static void test()
     {
.out.println("Hello");
     }
 }
public class Hello {
public static void main(String[] args)
        {
= null; 
.test();
         }
 }

运行结果是:Hello


表明null对象可以访问它所属类的成员。如果一个null对象访问实例成员将会引发NullPointException异常,因为null
表明该实例根本不存在,那么它的实例变量和实例方法自然也不存在。



举报

相关推荐

0 条评论