需要被工厂生产的简单实例
代码块
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,想要生成单例,必须先生成一个不变的对象,后面返回给调用者,要在一个类里 生成一个唯一的对象,只能使用静态变量,随着类的加载对变量初始化一次