私は子クラスでシャドーする必要がある最終的な静的intを持つ親クラスを持っています。親クラスでは、私は子クラスでオーバーライドするメソッド "print"を使用します。このコードを使用すると、printメソッドは親クラスのMINIMUMPRIJSを使用します。私はそれが私の子クラスからMINIMUMPRIJSを使用するようにすることができますか?親クラスの最終変数をどのようにシャドーしますか?
私の仕事の記述では、 "reis"クラスについて書いています: - 価格が少なくとも5ユーロであることを確認してください。このための変数を作成し、このminimumpriceが常に保証されていることを確認してください。
- 1 PARAMTER(宛先)
で1コンストラクタ - クラスについて偶然に(destiantion、価格)と1コンストラクタ
は
を "vliegtuigreis" - ここではminimumpriceは25ユーロです。必要なことをしなさい。
- ちょうど1のparamater(宛先)
で1コンストラクタ - PARAMATERS(宛先、価格、およびflightnumber)と1コンストラクタ
public abstract class Reis {
public final static int MINIMUMPRIJS = 5;
public void setPrijs(double prijs) {
if (prijs >= getMINIMUMPRIJS()) {
this.prijs = prijs;
}else{
this.prijs = MINIMUMPRIJS;
}
}
public void print(){
System.out.printf("Reis met bestemming %s kost %,.2f euro. %n", bestemming, prijs);
}
}
public class VliegtuigReis extends Reis {
private final static int MINIMUMPRIJS = 25;
public void print(){
super.print();
System.out.println("Vluchtnr " + vluchtnummer);
}
}
あなたはそれをシャドーすることはできません。それは 'static final'の意味です。別の名前をつけなければなりません。 –
私は親の "print"から私のコードをコピーし、それを私の子クラスの "print"に加えなければなりませんか? – wetallday
さて、あなたのコードで実際には 'MINIMUMPRIJS'を参照することはありません。 –