接口和工厂

刺骨的言语ヽ痛彻心扉 2022-08-18 12:24 159阅读 0赞

接口和工厂 创建两个接口

一个接口内返回另一个接口类型的方法(类似于组合)

  1. interface Cycle {
  2. int wheels();
  3. }
  4. interface CycleFactory {
  5. Cycle factory();
  6. }
  7. class Cycle1 implements Cycle {
  8. public int wheels() {
  9. return 2;
  10. }
  11. }
  12. class CycleFactory1 implements CycleFactory {
  13. public Cycle factory() {
  14. return new Cycle1();
  15. }
  16. }
  17. class Cycle2 implements Cycle {
  18. public int wheels() {
  19. return 4;
  20. }
  21. }
  22. class CycleFactory2 implements CycleFactory {
  23. public Cycle factory() {
  24. return new Cycle2();
  25. }
  26. }
  27. public class interface_and_factory {
  28. Cycle c1, c2;
  29. public static void main(String[] args) {
  30. interface_and_factory i = new interface_and_factory();
  31. CycleFactory cFactory1 = new CycleFactory1();
  32. i.c1 = cFactory1.factory();
  33. CycleFactory cFactory2 = new CycleFactory2();
  34. i.c2 = cFactory2.factory();
  35. System.out.println("1号工厂生产一辆车" + i.c1 + " 轮子 = " + i.c1.wheels()); //i.c1是一个内存地址 可通过重写toString方法返回字符串
  36. System.out.println("2号工厂生产一辆车" + i.c2 + " 轮子 =" + i.c2.wheels());
  37. }
  38. }

结果: (内存地址)

1号工厂生产一辆车 Number_nine.Cycle1@1db9742 轮子 = 2
2号工厂生产一辆车 Number_nine.Cycle2@106d69c 轮子 =4

发表评论

表情:
评论列表 (有 0 条评论,159人围观)

还没有评论,来说两句吧...

相关阅读