實現建立者和調用者分離ide
interface Car { void run(); } class AoDi implements Car { @Override public void run() { System.out.println("我是奧迪...."); } } class BenChi implements Car { @Override public void run() { System.out.println("我是奔馳...."); } } class CarFactory { public static Car createCar(String name) { Car car = null; switch (name) { case "奧迪": car = new AoDi(); break; case "奔馳": car = new BenChi(); break; default: break; } return car; } } public class Test002 { public static void main(String[] args) { Car car = CarFactory.createCar("奔馳"); car.run(); } }
interface Car { void run(); } class AoDi implements Car { @Override public void run() { System.out.println("我是奧迪...."); } } class BenChi implements Car { @Override public void run() { System.out.println("我是奔馳...."); } } class BenChiFactory { public static Car createCar() { return new BenChi(); } } class AoDiFactory { public static Car createCar() { return new AoDi(); } } public class Test002 { public static void main(String[] args) { // Car car = CarFactory.createCar("奔馳"); // car.run(); Car aodi = AoDiFactory.createCar(); Car benchi = BenChiFactory.createCar(); aodi.run(); benchi.run(); } }