一、 接口A
A1 继承或实现
A2 继承或实现
二、接口工厂B提供获取A的未实现方法getA()(返回值为类A) ----这是工厂核心
类B1 实现B并返回一个类A1
类B2 实现B并返回一个类A2
三、调用类
public static void getA(B b) {//根据传来的B1/B2的不同,返回不同的A1/A2,从而实现相同代码,产生不同效果
A a = b.getA();
a.doA();//调用A中的方法
}