public abstract class AdicionalesCpd extends Cpd{
public abstract int getCpu();
public abstract int getRam();
public abstract int getDisco();
public abstract String getCadena();}
這是我的裝飾圖案抽象類,而當它編譯我有這樣的問題:「不是抽象的,不重寫抽象方法的Java」使用裝飾模式
**error: Cpu is not abstract and does not override abstract method getCadena() in AdicionalesCpd
public class Cpu extends AdicionalesCpd{ ** I don't know why doesn't override the method "getCpu"
這是我的CPU類,這是一個「裝修」,在圖案
public class Cpu extends AdicionalesCpd{
Cpd cpd;
int var;
public Cpu(Cpd cpd,int var)
{
this.cpd=cpd;
this.var=var;
}
@Override
public int getCpu() {
return cpd.getCpu()+var;
}
}
它*不覆蓋'getCpu' - 它不會覆蓋'getCadena',就像錯誤信息說的那樣...您需要覆蓋*所有*抽象方法... –
您需要實現所有方法來自抽象類。 – user123