java学习-通过静态代码块达到的单态设计模式

0.static修饰符

   静态变量是全局共享的,不属于任何一个类,也不再类实例化的时候在堆内存中创建存储空间,而是在JVM加载class文件时创建的内存中data块中

1.静态代码块

   只在JVM加载类的时候执行一次,在类实例化时不会再次被执行  

   static

  {

    xxxx......

   }

2.单态设计模式

class Single
{
   
       static Single objRef = new Single();
   
    private Single() 
    {
System.out.println("this is a new Single");
}


    public static Single getInstance()
    {
    return objRef;
    }
}

由于构造函数为私有,所以外面不能调用new去实例对象

但是类内部可以实例化对象,但是又要求只有一个实例对象

所以可以使用static达到效果,因为使用static修饰的代码只在类加载时执行一次,所以全局只有一个类的实例。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值