举一个简单的简单工厂法的例子吧。public interface A { public String print(); }public class A1 implements A { public String print() { System.out.println("I am the first child of A."); } }public class A2 implements A { public String print() { System.out.println("I am the second child of A."); } }public class Factory { private Factory(){} // 静态工厂方法 public static A getAChild(String name) { if(name.equalsIgnoreCase("a1")) { return new A1(); }else if(name.equalsIgnoreCase("a2")) { return new A2(); } return null; } }public class Test { public static void main(String[] args) { A child1 = Factory.getAChild("a1"); child.print(); A child2 = Factory.getAChild("a2"); child.print(); } }
public String print();
}public class A1 implements A {
public String print() {
System.out.println("I am the first child of A.");
}
}public class A2 implements A {
public String print() {
System.out.println("I am the second child of A.");
}
}public class Factory {
private Factory(){} // 静态工厂方法
public static A getAChild(String name) {
if(name.equalsIgnoreCase("a1")) {
return new A1();
}else if(name.equalsIgnoreCase("a2")) {
return new A2();
}
return null;
}
}public class Test {
public static void main(String[] args) {
A child1 = Factory.getAChild("a1");
child.print();
A child2 = Factory.getAChild("a2");
child.print();
}
}