当前位置 : 主页 > 编程语言 > java >

java子类调用父类的方法中包含子类重写的实例方

来源:互联网 收集:自由互联 发布时间:2021-05-13
# 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了 # 先看代码: public class Common { public static void main(String[] args) { Sub sub = new Sub(); sub.testSub(); }}class Parent { protected boolean test

# 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了

# 先看代码:

public class Common {

  public static void main(String[] args) {
    Sub sub = new Sub();
    sub.testSub();
  }
}

class Parent {

  protected boolean test() {
    throw new RuntimeException();
  }

  protected void testParent() {
    if (test()) {
      System.out.println(this.getClass().getName());
    }
  }

}

class Sub extends Parent {

  public void testSub() {
    super.testParent();
  }

  @Override
  public boolean test() {
    return true;
  }
}

# 上面的代码的输出结果是:

com.qq.demo.common.Sub

# 大致流程是 main 中调用子类的 testSub()方法 -- testSub()方法中调用父类的testParent() 方法 -- testParent() 方法调用test()方法;需要注意的是test()方法在父类和子类中都存在,子类重写了父类的test()方法;

以上就是本次介绍的全部知识点内容,感谢大家的阅读和对自由互联的支持。

网友评论