This is my base class:
abstract public class CPU extends GameObject {
protected float shiftX;
protected float shiftY;
public CPU(float x, float
The final object needs to in initialize the super class using one of its constructors. If there is a default (no-parameter) constructor then the compiler calls it implicitly, otherwise the subclass constructor needs to call it using super
as the first line of its constructor.
In your case, that would be:
public Beam(float x, float y, float shiftX, float shiftY, int beamMode) {
super(x, y)
And remove the assignments to this.x
and this.y
later.
Also, avoid making them protected
, makes it difficult to debug. Instead add getters
and if absolutely necessary setters