public class FactoryTest {
public static void main(String[] args) {
Car a = new AudiFactory().getCar();
Car b = new BydFactory().getCar();
a.run();
b.run();
}
}
interface Car {
public void run();
}
class Audi implements Car {
@Override
public void run() {
System.out.println("奥迪在跑");
}
}
class Byd implements Car {
@Override
public void run() {
System.out.println("比亚迪在跑");
}
}
//工厂接口
interface CarFactory {
Car getCar();
}
//两个工厂类
class AudiFactory implements CarFactory {
@Override
public Audi getCar() {
return new Audi();
}
}
class BydFactory implements CarFactory {
@Override
public Byd getCar() {
return new Byd();
}
}