4要素:1抽象的产品 2具体化的产品 3抽象工厂类 4具体工厂类 5---测试调用
1抽象的产品
public interface PhoneInterface {
     void getPhoneName();
}2具体化的产品
@Slf4j
public class OpPhone implements PhoneInterface{
    @Override
    public void getPhoneName() {
     log.info("取得oppo手机");
    }
}
@Slf4j
public class XmPhone implements PhoneInterface {
    @Override
    public void getPhoneName() {
        log.info("取得小米手机");
    }
}3抽象工厂类
public interface Factory {
    PhoneInterface getPhone();
}4具体工厂类
public class XmFactroy implements Factory{
    @Override
    public PhoneInterface getPhone() {
        return new XmPhone();
    }
}
public class OpFactory implements Factory{
    @Override
    public PhoneInterface getPhone() {
        return new OpPhone();
    }
}5测试调用
public class TestClass2 {
    public static void main(String[] args) {
        PhoneInterface opPhone = new OpFactory().getPhone();
        PhoneInterface xmPhone = new XmFactroy().getPhone();
        opPhone.getPhoneName();
        xmPhone.getPhoneName();
    }
}









