gpt4 book ai didi

Java 扩展示例

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:39:25 27 4
gpt4 key购买 nike

我有一个 Java 初学者问题:Parent.print() 在控制台打印“hallo”,而且 Child.print() 打印“hallo”。我认为它必须打印“ child ”。我该如何解决这个问题?

public class Parent {

private String output = "hallo";

public void print() {
System.out.println(output);
}

}

public class Child extends Parent {

private String output = "child";

}

最佳答案

目前你有两个独立的变量,Parent 中的代码只知道 Parent.output。您需要将 Parent.output 的值设置为“child”。例如:

public class Parent {

private String output = "hallo";

protected void setOutput(String output) {
this.output = output;
}

public void print() {
System.out.println(output );
}
}

public class Child extends Parent {
public Child() {
setOutput("child");
}
}

另一种方法是为 Parent 类提供一个构造函数,该构造函数采用所需的输出:

public class Parent {
private String output;

public Parent(String output) {
this.output = output;
}

public Parent() {
this("hallo");
}

public void print() {
System.out.println(output );
}
}

public class Child extends Parent {
public Child() {
super("child");
}
}

这真的取决于你想做什么。

关于Java 扩展示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188091/

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