1.在最前面先提一下简单工厂模式

就是通过反射机制,使用if条件语句判断Class.getName(“if_name”) 动态返回对象实例的方法

之后会写一下

对象的实例化同一在Factory中实现,同时讲Factory里的方法都是静态的,所以称为静态工厂模式,

用到Java的知识:向上转型,接口

缺点是如果要对实例的类做改变,需要改变工厂类,所以引申出了抽象工厂模式。

package text;
//静态工厂模式
public class Text{
    public static void main(String[] args) {
        school a = Factory.makeStudent();
        a.sad();
        school b = Factory.makeTeacher();
        b.sad();
    }
}
interface school {
    abstract void sad();
}
class student implements school {
    public void sad() {
        System.out.println("student");
    }
}

class teacher implements school {
    public void sad() {
        System.out.println("teacher");
    }
}
class Factory {
    public static school makeStudent() {
        return new student();
    }
    public static school makeTeacher() {
        return new teacher();
    }
}