多重继承的实现

约定不等于承诺〃 2021-09-22 23:08 468阅读 0赞

利用接口


此时实现接口,多半仅是在实现抽象方法。但如果我想使用多个类中的一些具体实现呢?

利用内部类


  1. class Father {
  2. public int strong(){
  3. return 9;
  4. }
  5. }
  6. class Mother {
  7. public int kind(){
  8. return 8;
  9. }
  10. }
  11. class Son {
  12. /**
  13. * 内部类继承Father类
  14. */
  15. class Father_1 extends Father{
  16. public int strong(){
  17. return super.strong() + 1;
  18. }
  19. }
  20. class Mother_1 extends Mother{
  21. public int kind(){
  22. return super.kind() - 2;
  23. }
  24. }
  25. public int getStrong(){
  26. return new Father_1().strong();
  27. }
  28. public int getKind(){
  29. return new Mother_1().kind();
  30. }
  31. }
  32. public class K {
  33. public static void main(String[] args) {
  34. Son son = new Son();
  35. System.out.println("Son 的Strong:" + son.getStrong());
  36. System.out.println("Son 的kind:" + son.getKind());
  37. }
  38. }

这里定义了两个内部类,他们分别继承父亲Father类、母亲Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。

参考链接


  1. https://www.cnblogs.com/chenssy/p/3389027.html

发表评论

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

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

相关阅读

    相关 Java 内部类实现多重继承

    ava里面是没有多重继承的,因为永远是单根继承。但是通过内部类的继承,保存一个内部类的对象,可以模拟出一种多重继承。 匿名内部类实现 假如这里有一位蔡同学,他喜欢...

    相关 c++多重继承

    一、前言 每个类只继承一个父辈,在现实世界中事情通常是这样的,但是有一些类却代表两个类的合成。例如两用沙发,它是一张床,也是一个沙发。 二、示例代码,用作下面提出问题使用

    相关 Java实现多重继承技巧

    多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的

    相关 面试题-实现多重继承

    > 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟