gpt4 book ai didi

java - 关键字 super 在 java 中是如何工作的-Java 谜题

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:35 26 4
gpt4 key购买 nike

public class B {

public B() {

}

private void m0(){
System.out.println("BO");
}
public void m1(){
System.out.println("B1");

}

public void test(){
this.m0();
this.m1();
}
}



public class D extends B{

/**
*
*/
public D() {

}

public void m0(){
System.out.println("DO");
}
public void m1(){
System.out.println("D1");

}

public void test(){
super.test();
}

public static void main(String[] args) {
B d=new D();
d.test();
}


}

我的问题是为什么输出是 BO,D1 而不是 BO,B1。我不明白 super 关键字如何起到调用子类而不是父类方法的作用。

最佳答案

因为你在 B 类中的方法 m0 是私有(private)的,所以它不会被 D 类覆盖。

关于java - 关键字 super 在 java 中是如何工作的-Java 谜题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32004505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com