gpt4 book ai didi

Java多态: Why is an error returned?

转载 作者:行者123 更新时间:2023-11-30 06:11:03 25 4
gpt4 key购买 nike

为什么运行

Larry var3 = new Jerry();
var3.method3();

输出错误而不是

larry 1

harry 1

mary 3

我认为这可能与对象的创建方式有关。但这只是我的猜测。

这是代码:

public class Harry {
public void method1() {
System.out.println("harry 1");
}

public void method2() {
method1();
System.out.println("harry 2");
}
}

public class Larry extends Harry {
public void method1() {
System.out.println("larry 1");
super.method1();
}
}

public class Mary extends Larry {
public void method2() {
System.out.println("mary 2");
}

public void method3() {
super.method1();
System.out.println("mary 3");
}
}

public class Jerry extends Mary {
public void method2() {
super.method2();
System.out.println("jerry 2");
}
}

最佳答案

使用

((Mary) var3).method3();

它会工作得很好。

关于Java多态: Why is an error returned?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50223839/

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