gpt4 book ai didi

java 不返回void的虚方法

转载 作者:行者123 更新时间:2023-12-01 07:18:07 25 4
gpt4 key购买 nike

我想要派生类中的方法覆盖 CONCRETE 基类中的虚拟方法并返回如下内容(即不是 void):

public class HelloWorldApp
{
public static void main(String args[])
{
Bar bar = new Bar();
bar.go();
}
}

public class Foo
{
public void go()
{
System.out.print(this.test().toString());
}

protected Integer test()
{
return 1;
}
}

public class Bar extends Foo
{
@Override
protected Integer test()
{
return 2;
}
}

有没有办法在没有多余的“return 1;”的情况下做到这一点在 Foo.test() 中,它永远不会运行。显然它工作得很好,但似乎我做了一些严重错误的事情。

最佳答案

此答案是在问题更新之前创建的,以表明基类必须是具体的。

<小时/>

如果您希望永远不会运行 Footest 方法,请通过使 Fooabstract< 来强制执行它,其中 testabstract

public abstract class Foo {

public void go() {
System.out.print(this.test().toString());
}

abstract protected Integer test();
}

关于java 不返回void的虚方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50917821/

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