BWM.java
//定义一个输出产品信息的接口
public interface BWM {
void showInfo();
}
//构建具体的宝马车的类
class BWM3 implements BWM {
@Override
public void showInfo() {
System.out.println("这个是宝马3系");
}
}
class BWM5 implements BWM {
@Override
public void showInfo() {
System.out.println("这个是宝马5系");
}
}
class BWM7 implements BWM {
@Override
public void showInfo() {
System.out.println("这个是宝马7系");
}
}
BWMFactory.java
汽车生产工厂接口
public interface BWMFactory { //BWM为返回值的接口 //类似void 函数名();void是没有返回值 //下面要继承这个接口需要重写他的方法 //定义了一个返回值类型为BWM的抽象方法 BWM prductBWM(); } class BWM3Factory implements BWMFactory{ @Override public BWM prductBWM() { System.out.println("生产BWM3");
//返回了一个对象
return new BWM3(); } } //实现具体车型的生产工厂 class BWM5Factory implements BWMFactory{ @Override public BWM prductBWM() { System.out.println("生产BWM5"); return new BWM5(); } } class BWM7Factory implements BWMFactory{ @Override public BWM prductBWM() { System.out.println("生产BWM7"); return new BWM7(); } }
Test.java
public class Test {
public static void main(String[] args) {
//new对象后直接调用方法
BWM b3 = new BWM3Factory().prductBWM();
b3.showInfo();
BWM b5 = new BWM5Factory().prductBWM();
b5.showInfo();
BWM b7 = new BWM7Factory().prductBWM();
b7.showInfo();
}
}
输出结果:
生产BWM3
这个是宝马3系
生产BWM5
这个是宝马5系
生产BWM7
这个是宝马7系