工厂模式:根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,而这一组类有一个公共的抽象父类
//实现一个InterfaceFactory接口
package factory;
public interface InterfaceFactory {
public void say();
}
- //创建Son1类,该类用于实现InterfaceFactory并打印出son1
package factory;
public class Son1 implements InterfaceFactory {
- @Override
public void say() {
// TODO Auto-generated method stub
System.out.println("son1");
}
}
//创建Son2类,该类也用于实现InterfaceFactory接口并打印出son2
package factory;
public class Son2 implements InterfaceFactory {
@Override
public void say() {
// TODO Auto-generated method stub
System.out.println("son2");
}
}
//定义Factory类,在类中声明一个静态的方法,用于实现Son1和Son2接口
package factory;
public class Factory {
public static InterfaceFactory createFactory(int i){
InterfaceFactory in1;
if(i==1){
//使用接口回调,将类1的对象付给接口使用
in1=new Son1();
}else{
in1=new Son2();
}
return in1;
}
}
//定义Test测试类,该类用于实现具体调用son1或son2类中的方法
package factory;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InterfaceFactory in1=Factory.createFactory(2);//如果传的值是2,则会打印出son2,反之为1
in1.say();
}
}