gpt4 book ai didi

java - 程序的输出。测试题类型

转载 作者:行者123 更新时间:2023-12-01 17:56:05 24 4
gpt4 key购买 nike

有人可以向我解释为什么输出是“DDAC”而不是“DAC”吗?为什么它打印“D”两次?

class A {
String text = "A";
String getText(){
return text;
}
public static void main(String[] args) {
System.out.println((new B()).getText());
}
}
class B extends A{
B(){
text = getText() + "C";
}
String getText(){
return "D" + super.getText();
}
}

最佳答案

您的代码很困惑,因为不同的类中有两个具有相同名称的方法。您在构造函数 B() 中调用了 getText(),它从 B 类获取文本。您希望它从 A 类获取文本。我所做的就是更改将B类中的getText()名称改为getBText(),并正确调用方法。代码如下所示:

class ScratchPaper {
String text = "A";
String getText(){
return text;
}
public static void main(String[] args) {
System.out.println((new B()).getBText());
}
}
class B extends ScratchPaper {
B(){
text = getText() + "C";
}
String getBText(){
return "D" + super.getText();
}
}

输出结果如您所料:

DAC

关于java - 程序的输出。测试题类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44658968/

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