エラーが発生し続ける理由はわかりません。抽象メソッドはです。私はキーワードpublicを追加しようとしましたが、それはまったく役に立たなかった。抽象メソッドについてインターネット上の例を読んだことがありますが、そのほとんどはvoid
です。抽象メソッドエラーを実装する必要がありますが、そこにあります。
抽象クラス:
public abstract class Osoba {
private String ime_prezime;
private char pol;
public Osoba(String ime_prezime, char pol) {
this.ime_prezime=ime_prezime;
this.pol=pol;
}
public String getImePrezime() { return ime_prezime; }
public void setImePrezime(String ime_prezime) { this.ime_prezime=ime_prezime; }
public char getPol() { return pol; }
public void setPol(char pol) { this.pol=pol; }
abstract int brojGodinaOsobe(Datum danasnji_datum);
}
クラスとサブクラス:
public class OsobaDatum extends Osoba{
private Datum datum_rodjenja;
public OsobaDatum(String ime_prezime, char pol, final Datum datum_rodjenja) {
super(ime_prezime, pol);
this.datum_rodjenja=datum_rodjenja;
}
public String toString() {
return "OsobaDatum: \n" + "Ime i prezime: " + getImePrezime() +
"\n" + "Pol: " + getPol() + "\nDatum rodjenja: "
+ datum_rodjenja.toString();
}
int brojGodina(Datum danasnji_datum) {
if (datum_rodjenja.getMesec() < danasnji_datum.getMesec()) {
return danasnji_datum.getGodina() - datum_rodjenja.getGodina();
}
else if (datum_rodjenja.getDan() <= danasnji_datum.getDan() &&
datum_rodjenja.getMesec() == danasnji_datum.getMesec()) {
return danasnji_datum.getGodina() - datum_rodjenja.getGodina();
}
else
return danasnji_datum.getGodina() - datum_rodjenja.getGodina() -1 ;
}
}
正確にはどのようなエラーですか? –
申し訳ありません、ただちにファイルを編集しました。 Eclipseはファイルの先頭にポップアップを続けます: 'OsobaDatum型は継承した抽象メソッドを実装する必要があります' – monolith937
1.エラーメッセージを追加してください。 2. 'OsobaDatum'が' int brojGodinaOsobe'を実装しなければならないという問題がある場合、コードにある最も近いメソッドは 'int brojGodina(Datum danasnji_datum)'です。これは同じ名前ではないからです。 – KevinO