用静态内部类实现单例模式

基础知识:

  • Java程序的初始化顺序依次是:父类静态变量-->父类静态代码块-->子类静态变量-->子类静态代码块-->父类非静态变量-->父类非静态代码块-->父类构造函数-->子类非静态变量-->子类非静态代码块-->子类构造函数
  • 用静态的内部类实现单例模式的原理:静态内部类可以不依赖外部类的实例而被实例化。(更多关于静态内部类的内容,请看:Java的内部类 )

Java静态的内部类实现单例模式代码:

public class SingletonTest{
    private SingletonTest(){
 
    }
  //开始写代码,使用内部静态类实现单例模式 public static SingletonTest getInstance(){
       return innerStaticClass.instance; } static class innerStaticClass{   private static SingletonTest instance=new SingletonTest(); } //end_code
  public static void main(String args[]){ SingletonTest singleton1 = SingletonTest.getInstance(); SingletonTest singleton2 = SingletonTest.getInstance(); System.out.println(singleton1 == singleton2); } }

C#版本的单例模式

最简单的写法:

public class Singleton
{
    private Singleton(){}
    public static readonly Singleton instance = new Singleton();
}  

参考:

C#单例模式的三种写法 C#设计模式学习笔记-单例模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值