单例扩展-多例模式(枚举实现)

来源:互联网 发布:淘宝上拍卖的茅台酒 编辑:程序博客网 时间:2024/05/24 02:05

只有两个实例的实现:

public class Test {

public static void main(String[] args) {

Singleton s1 = Singleton.INSTANCEA;

        s1.setAge(20);
        System.out.println(s1.getAge());
        Singleton s2 = Singleton.INSTANCEA;
        System.out.println(s2.getAge());
        System.out.println(s1 == s2);
        
        
        Singleton s3 = Singleton.INSTANCEB;
        s3.setAge(22);
        System.out.println(s3.getAge());
        Singleton s4 = Singleton.INSTANCEB;
        System.out.println(s4.getAge());

        System.out.println(s3 == s4);

   }

 }


enum Singleton
{

    INSTANCEA,INSTANCEB;
    
    private int age;

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }

 }



结果:

20
23
true
22
22
true