对象的创建不仅可以通过new,还可以通过方法获取,另外反序列化和反射也可以。工厂模式解决主要问题是,用一种简单的办法获取对象。
package com.hike.javase.interfacetest;
interface Worker{
void work();
}
class Teacher implements Worker{
public void work(){
System.out.println("老师在上课");
}
}
class Student implements Worker{
public void work(){
System.out.println("学生在学习");
}
}
class Factory{
public static Worker getTeacher(){
return new Teacher();
}
public static Worker getStudent(){
return new Student();
}
}
public class FactoryTest {
public static void main(String[] args) {
//Runtime runtime = Runtime.getRuntime(); //通过方法获取对象
Worker worker = Factory.getTeacher(); //工厂的应用
worker.work();
worker = Factory.getStudent();
worker.work();
}
}



