工厂模式之单例多例

需要被工厂生产的简单实例

代码块

package com.kass;

public class Dog {
    private String name;
    private int age;

    @Override
    public String toString() {
        return "Dog [name=" + name + ", age=" + age + "]";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

}

生成单例多例的工厂

package com.kass;

public class DogFactory {

    private static Dog d = new Dog();

    // 创建多例的工厂
    public Dog getMultitonDog() {
        return new Dog();
    }

    // 创建单例的工厂
    public Dog getSingletonDog() {
        return d;
    }
}

1,想要生成多例,必须要对类不停地new,执行一次方法创建一次对象;
2,想要生成单例,必须先生成一个不变的对象,后面返回给调用者,要在一个类里 生成一个唯一的对象,只能使用静态变量,随着类的加载对变量初始化一次

猜你喜欢

转载自blog.csdn.net/weixin_38663081/article/details/81545853