Stack Overflow,我有一个问题:想象一下下一个场景。我有一个名为
Class
的类和一个名为 FatherClass
的超类,具有以下方法和浮点数:
public class FatherClass {
public String string = "HeloWorld";
public String stringGetter(){
return string;
}
}
public class Class extends FatherClass{
public String string = "Hello, World!";
public static void main(String[] args) {
Class testClass = new Class();
System.out.println(testClass.stringGetter());
}
}
但是当你运行它时,它会输出:
"HeloWorld"
,超类'字符串。
如果我重写
stringGetter
中的 Class
方法,如下所示:
public class Class extends FatherClass {
public String string = "Hello, World!";
@Override
public String stringGetter(){
return string;
}
public static void main(String[] args) {
Class testClass = new Class();
System.out.println(testClass.stringGetter());
}
}
它确实输出
"Hello, World!"
。
我的问题是是否有一种方法可以输出
"Hello, World!"
而不必覆盖 stringGetter
?
谢谢!
我会直接从您的
string
类中调用您的 Class
变量。
这应该像这样工作:
public class Class extends FatherClass {
public String string = "Hello, World!";
public static void main(String[] args) {
Class testClass = new Class();
System.out.println(testClass.string);
}
}
注意:抱歉,您的变量和类命名非常糟糕。你永远不会调用字符串变量
string
或类,Class
话虽如此,我确实理解也许您是 Java 新手,并且希望尽我所能鼓励您。