工厂接口
public interface MyFactory {
public Product product();
}
产品接口
public interface MyFactory {
public Product product();
}
具体工厂1
public class ClothFactory implements MyFactory {
@Override
public Product product() {
return new ClothProduct();
}
}
具体工厂2
public class JuiceFactory implements MyFactory {
@Override
public Product product() {
return new JuiceProduct();
}
}
具体产品1
public class ClothProduct implements Product {
@Override
public void show() {
System.out.println("生产了衣服");
}
}
具体产品2
public class JuiceProduct implements Product {
public void JuiceFactory(){
}
@Override
public void show() {
System.out.println("生产了果汁");
}
}
运行
package com.liang.test;
import com.liang.fctest.MyFactory;
public class FactoryTest {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class<?> FactoryTest = Class.forName("com.liang.fctest.JuiceFactory");
MyFactory factory = (MyFactory) FactoryTest.newInstance();
factory.product().show();
}
}
结果

代码
fctest.zip