Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 必须实现抽象方法错误,但它';在那里_Java - Fatal编程技术网

Java 必须实现抽象方法错误,但它';在那里

Java 必须实现抽象方法错误,但它';在那里,java,Java,不断地得到错误,我似乎不明白为什么,抽象方法被实现了。我试着添加关键字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.

不断地得到错误,我似乎不明白为什么,抽象方法被实现了。我试着添加关键字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 ;

 } 
公共类OsobaDatum扩展了Osoba{
私人数据;
公共数据(字符串ime_prezime、字符pol、最终数据_rodjenja){
超级(波兰伊梅奥·普雷齐姆);
这个.datum_rodjenja=datum_rodjenja;
}
公共字符串toString(){
返回“OsobaDatum:\n”+“Ime i prezime:+getImePrezime()+
“\n”+“Pol:”+getPol()+“\n数据源rodjenja:”
+datum_rodjenja.toString();
}
int brojGodina(基准面danasnji_基准面){
如果(datum_rodjenja.getMesec()否则,如果(datum_rodjenja.getDan()抽象方法的名称是brojgodinasobe(),看起来您只实现了一个名为brojGodina()的方法。添加Osobe,您应该就可以了。

看起来您并没有从超类重写方法
brojgodinasobe(datum danasnji_datum);

将OsobaDatum类中的
brojGodina(基准面danasnji_基准面)
更改为
Brojgodinasobe(基准面danasnji_基准面)


关于。

到底是什么错误?抱歉,刚才编辑了文件。Eclipse一直在文件顶部弹出:
类型OsobaDatum必须实现继承的抽象方法
1。请添加错误消息。2.如果问题是
OsobaDatum
必须实现
int brojGodinaOsobe
,那是因为clos代码中最常用的方法是
int brojGodina(Datum danasnji_Datum)
,它的名字不一样。您只显示基本的Person类-无法知道Ymis是如何实现派生类的。一定要发布哦,天哪,似乎是这样。我的错,今天看到的代码太多了。