fork download
  1. import java.util.HashMap;
  2. import java.util.Map;
  3.  
  4. // 父类 Car
  5. abstract class Car {
  6. public abstract void drive();
  7. }
  8.  
  9. // 奔驰
  10. class Benz extends Car {
  11. @Override
  12. public void drive() {
  13. System.out.println("驾驶奔驰出门");
  14. }
  15. }
  16.  
  17. // 宝马
  18. class BMW extends Car {
  19. @Override
  20. public void drive() {
  21. System.out.println("驾驶宝马出门");
  22. }
  23. }
  24.  
  25. // 奥迪
  26. class Audi extends Car {
  27. @Override
  28. public void drive() {
  29. System.out.println("驾驶奥迪出门");
  30. }
  31. }
  32.  
  33. // 理想
  34. class LiXiang extends Car {
  35. @Override
  36. public void drive() {
  37. System.out.println("驾驶理想出门");
  38. }
  39. }
  40.  
  41. // 管家类
  42. class HouseKeeper {
  43. private Map<String, Car> carMap = new HashMap<>();
  44.  
  45. public HouseKeeper() {
  46. carMap.put("奔驰", new Benz());
  47. carMap.put("宝马", new BMW());
  48. carMap.put("奥迪", new Audi());
  49. carMap.put("理想", new LiXiang());
  50. }
  51.  
  52. public void driveCar(String carName) {
  53. Car car = carMap.get(carName);
  54. if (car != null) {
  55. car.drive();
  56. } else {
  57. System.out.println("没有找到" + carName);
  58. }
  59. }
  60. }
  61.  
  62. // 测试类
  63. public class Main {
  64. public static void main(String[] args) {
  65. HouseKeeper keeper = new HouseKeeper();
  66. keeper.driveCar("宝马");
  67. keeper.driveCar("理想");
  68. keeper.driveCar("特斯拉");
  69. }
  70. }
Success #stdin #stdout 0.14s 57532KB
stdin
Standard input is empty
stdout
驾驶宝马出门
驾驶理想出门
没有找到特斯拉