如何才能使用超类的方法而不使用其浮动或覆盖其方法?

问题描述 投票:0回答:1

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

谢谢!

java inheritance methods
1个回答
0
投票

我会直接从您的

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 新手,并且希望尽我所能鼓励您。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.