package demoday01;
//单例模式重要思想 类的变量,方法 只能在本类中进行操作
//实现单例对象需要进行的操作就是对构造方法进行私有化操作
public class demoSingleton {
private String tir ;
private demoSingleton(String name) {
this.tir = name;
}
//demo
private static final demoSingleton demo = new demoSingleton(“不好”);
public static demoSingleton singleton(String string){
if (!string.equals(“nihao”)){
return null;
}
return demo;
}
public static void main(String[] args) {
demoSingleton demo1 = demoSingleton.singleton("niahhao");
System.out.println(demo1);
}
@Override
public String toString() {
return "demoSingleton{" +
"tir='" + tir + '\'' +
'}';
}
}
//
/****/
package demoday01;
//实现多例模式需要实现构造方法私有化
//因为构造方法私有化构造方法所在的类就不能被继承 因为继承要把父类的构造方法进行覆盖重写
//变量方法 一旦被私有化过后 他就会只能本类或者本类实例化对象进行操作
//单例和多例对象的使用本质上还是相同的,都是需要进行一些私有化构造模式
//多例都是需要用static 来修饰返回值是对象类型的方法
class demoduolimoshi {
private String titile;
private static final demoduolimoshi green= new demoduolimoshi(“绿色”);
private static final demoduolimoshi red= new demoduolimoshi(“红色”);
private static final demoduolimoshi blue= new demoduolimoshi(“蓝色”);
private static final demoduolimoshi yellow= new demoduolimoshi(“黄色”);
//进行构造方法私有化
public demoduolimoshi(String titile) {
this.titile = titile;
}
//进行私有化构造方法后 我们需要进行再类中写一个具有返回值的方法,返回值类型是引用类型
public static demoduolimoshi getcolor(String str){
switch(str){
case “red”: return red;
case “green”: return green;
case “yellow”:return yellow ;
case “blue”:return blue;
default: return null;
}
}
public static void main(String[] args) {
demoduolimoshi demo =demoduolimoshi.getcolor("red");
System.out.println(demo);
}
@Override
public String toString() {
return "demoduolimoshi{" +
"titile='" + titile + '\'' +
'}';
}
}