不斷收到錯誤,我似乎無法弄清楚爲什麼,抽象方法是實施。我嘗試添加關鍵字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