工廠模式之單例多例
阿新 • • 發佈:2018-12-31
需要被工廠生產的簡單例項
程式碼塊
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,想要生成單例,必須先生成一個不變的物件,後面返回給呼叫者,要在一個類裡 生成一個唯一的物件,只能使用靜態變數,隨著類的載入對變數初始化一次