/**
设计模式:为了解决一个常见的问题,而形成的步骤、方式、结构等
套路
1.单例设计模式:
*/
class JavaDemo19
{
public static void main(String[] args)
{
Dog dog1 = Dog.getDog();
Dog dog2 = Dog.getDog();
System.out.println(dog1);
System.out.println(dog2);
}
}
//为了使其不能随意创建对象实例,只能将构造函数私有化。
//由于构造函数已经私有了,只能在其内部创建实例(饿汉式和懒汉式)
//由于外部无法直接创建实例对象,所以使用静态方法。
//懒汉式
class Dog
{
private static Dog dog = null;
private Dog(){
}
//第一次使用创建
public static Dog getDog(){
if(dog==null){
dog = new Dog();
}
return dog;
}
}
//饿汉式
/*
class Dog
{
private static Dog dog = new Dog();
private Dog(){
}
public static Dog getDog(){
return dog;
}
}
*/