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(); } }