Singleton

Posted fly-book

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Singleton相关的知识,希望对你有一定的参考价值。

public class Singleton {
    private static Singleton singleton = new Singleton();
    private Singleton(){
        System.out.println("生成一个实例");
    }
    public static Singleton getInstance(){
        return singleton;
    }
}
/**
 * 最多生成3个实例,可根据编号获取实例
 */
public class Singleton3 {
    private static Singleton3[] list = new Singleton3[]{ //生成类的实例时被初始化,只会生成一次
            new Singleton3(0),
            new Singleton3(1),
            new Singleton3(2),
    };
    private int id;
    private Singleton3(int id){
        this.id = id;
        System.out.println("生成一个实例:"+id);
    }
    public static Singleton3 getInstance(int id){
        return list[id];
    }

    @Override
    public String toString() {
        return "::"+id;
    }
}
public class Main {
    public static void main(String[] args) throws ParseException {
//        Singleton s1 = Singleton.getInstance();
//        Singleton s2 = Singleton.getInstance();
//        System.out.println(s1==s2);

        for (int i = 0; i < 9; i++) {
            Singleton3 instance = Singleton3.getInstance(i % 3);
            System.out.println(i+":"+instance);
        }
    }
}

Singleton其它用法参考

https://www.cnblogs.com/fly-book/p/10369048.html

https://www.cnblogs.com/fly-book/p/10369046.html

以上是关于Singleton的主要内容,如果未能解决你的问题,请参考以下文章

Singleton Pattern (单例模式)

使用@Singleton注释时,Dagger生成的代码编译失败

我在使用 Singleton 在 Objective-c 中传递数组时遇到问题。 (包括代码)

浅谈JAVA设计模式之——单例模式(Singleton)

图解设计模式-Singleton模式

使用未解析的标识符“Singleton”Swift 3