gpt4 book ai didi

java - 即使我确实覆盖了所有抽象的内容,获取也不会覆盖错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:02 27 4
gpt4 key购买 nike

所以我只是为我的状态模式创建了一个抽象类和两个子类。但由于某种血腥的原因,我无法运行该程序,因为它给了我这个错误:

java.lang.RuntimeException:无法编译的源代码 - model.cannon.SingleShotState 不是抽象的,并且不会覆盖 model.cannon.CannonState 中的抽象方法 shot(model.cannon.Cannon) 在 model.cannon.CannonState.(CannonState.java:14)

问题是,我正在覆盖它说我没有覆盖的方法。这是我的实现:

public abstract class CannonState {
public abstract Missile[] shoot(Cannon cannon);
}

public class SingleShotState extends CannonState{

public SingleShotState(){
}

@Override
public Missile[] shoot(Cannon cannon) {
float x = 1;
float y = (float) Math.tan(Math.toRadians((double)cannon.getAngle()));

Random rand = new Random();
if(rand.nextFloat() < 0.5f){
cannon.setState(new ShotGunState());
}

return new Missile[] {
new Missile(cannon.getX(),cannon.getY(),1*x*cannon.getForce(),-1*y*cannon.getForce())
};
}
}

IDE 没有显示任何错误(我使用的是 netbeans 8.2)。可能是什么问题?

最佳答案

向抽象类添加空构造函数后,错误消失。

关于java - 即使我确实覆盖了所有抽象的内容,获取也不会覆盖错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40593840/

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