Java 为什么我要创建子类的新实例并使用a()的函数,a()将运行子类';b()的s函数?
父类定义a()和b()函数,a()函数使用b()函数;然后定义子类,并重写子类中的b()函数。为什么我要创建子类的新实例并使用a()的函数,a()将运行子类的b()函数Java 为什么我要创建子类的新实例并使用a()的函数,a()将运行子类';b()的s函数?,java,oop,Java,Oop,父类定义a()和b()函数,a()函数使用b()函数;然后定义子类,并重写子类中的b()函数。为什么我要创建子类的新实例并使用a()的函数,a()将运行子类的b()函数 这就是重写和继承的工作方式Child类从父类继承方法a(),并重写b()。因此,当您调用Child.a()JVM看到Child类有自己版本的方法b(),并调用该版本。 在此处查看有关重写的更多信息:为什么结果是子函数而不是父函数?因为否则它不会是重写。 public class Parent { public void
这就是重写和继承的工作方式
Child
类从父类继承方法a()
,并重写b()
。因此,当您调用Child.a()
JVM看到Child
类有自己版本的方法b()
,并调用该版本。
在此处查看有关重写的更多信息:为什么结果是子函数而不是父函数?因为否则它不会是重写。
public class Parent {
public void a() {
b();
}
public void b() {
System.out.println("Parent's function");
}
}
public class Child extends Parent{
public void b() {
System.out.println("Child's function");
}
}
public class TestFunction {
public static void main(String[] args) {
Child child = new Child();
child.a();
}
}