单例

使用单例对象

不适用spring框架,用hutool提供的单例方式来管理类

/**
 * 单例样例
 * @author loolly
 *
 */
public class SingletonDemo {
    /**
     * 动物接口
     * @author loolly
     *
     */
    public static interface Animal{
        public void say();
    }
    /**
     * 狗实现
     * @author loolly
     *
     */
    public static class Dog implements Animal{
        @Override
        public void say() {
            System.out.println("汪汪");
        }
    }
    /**
     * 猫实现
     * @author loolly
     *
     */
    public static class Cat implements Animal{
        @Override
        public void say() {
            System.out.println("喵喵");
        }
    }
    public static void main(String[] args) {
        Animal dog = Singleton.get(Dog.class); // Singleton.get来取到单例对象,不用getinstance来实现
        Animal cat = Singleton.get(Cat.class);
        //单例对象每次取出为同一个对象,除非调用Singleton.destroy()或者remove方法
        System.out.println(dog == Singleton.get(Dog.class));        //True
        System.out.println(cat == Singleton.get(Cat.class));            //True
        dog.say();        //汪汪
        cat.say();        //喵喵
    }
}
posted @ 2023-05-22 16:17  SpecialSpeculator  阅读(17)  评论(0编辑  收藏  举报