三要素:1抽象的产品 2具体化的产品 3具体工厂类
1抽象的产品
public interface phone {
void getPhone();
}
2具体化的产品
@Slf4j
public class IPhone implements phone {
@Override
public void getPhone() {
log.info("生产苹果手机");
}
}
@Slf4j
public class HwPhone implements phone {
@Override
public void getPhone() {
log.info("生产华为手机");
}
}
3具体工厂类
public class PhoneFactory {
/* 创建产品的方法 */
public static phone getPhone(String name) {
if ("华为".equals(name)) {
return new HwPhone();
} else if ("苹果".equals(name)) {
return new IPhone();
} else {
return null;
}
}
public static void main(String[] args) {
phone iPhone = PhoneFactory.getPhone("苹果");
phone hwPhone = PhoneFactory.getPhone("华为");
}
}