单例模式
饿汉式
![]()
public class Hunger {
public static void main(String[] args) {
ExampleHunger instance = ExampleHunger.getInstance();
System.out.println(instance);
}
}
class ExampleHunger{
private String name;
private static ExampleHunger example = new ExampleHunger("张三");
private ExampleHunger(String name) {
this.name = name;
}
public static ExampleHunger getInstance(){
return example;
}
@Override
public String toString() {
return "Example{" +
"name='" + name + '\'' +
'}';
}
}
懒汉式
![]()
public class Lazy {
public static void main(String[] args) {
ExampleLazy instance = ExampleLazy.getInstance();
System.out.println(instance);
}
}
class ExampleLazy{
private String name;
private static ExampleLazy example;
private ExampleLazy(String name) {
this.name = name;
}
public static ExampleLazy getInstance(){
if (example == null){
example = new ExampleLazy("张三");
}
return example;
}
@Override
public String toString() {
return "ExampleLazy{" +
"name='" + name + '\'' +
'}';
}
}
![]()
模板模式
![]()