不是抽象的,并且在扩展接口中不覆盖抽象方法FinalScore()

时间:2017-08-14 07:21:49

标签: java interface extend

计划1

interface java{
    public void setHomeTeam(String name);
    public void setVisitingTeam(String name);
}

计划2

interface extension extends java {
    public String HomeTeamScored();
    public String VisitingTeamScored();
    public String FinalScore();
}

计划3

public class implem implements extension{
    private String Home;
    private String Visit;

    public String HomeTeamScored(){
        return Home;
    }

    public String VisitingTeamScored(){
        return Visit;
    }

    public void setHome(String Home){
        this.Home = Home;
    }

    public void setVisit(String Visit){
        this.Visit = Visit;
    }
}

计划4

public class compilation{
    public static void main(String [] args){
        implem implement = new implem();

        implement.setHome("Nihon");
        implement.setVisit("Chuugoku");

        System.out.println(""+implement.HomeTeamScored());
        System.out.println(""+implement.VisitingTeamScored());
    }
}

这些是我扩展接口的程序,我收到错误:

  

实现不是抽象的,并且不会覆盖扩展中的抽象方法FinalScore()   公共类实现实现扩展{          ^   1错误

     

流程已完成。

3 个答案:

答案 0 :(得分:0)

因为您正在实现'扩展',所以您需要在需要添加的界面中实现所有方法

Public String FinalScore();

致你的班级

答案 1 :(得分:0)

您的非抽象类实现未实现接口的所有方法。 Public String FinalScore()就是这样一种方法。

答案 2 :(得分:0)

您可以找到java的接口[site]

的定义

它说

  

如果您的类声称实现了接口,则定义所有方法   通过该接口必须在类之前出现在其源代码中   成功编译

因此,您的实现类必须实现java及其子类扩展的所有接口方法。

您的实现类必须遵循规则,如下所示,

public class implem implements extension {
    private String Home;
    private String Visit;

    @Override
    public String HomeTeamScored() {
        return Home;
    }

    @Override
    public String VisitingTeamScored() {
        return Visit;
    }

    @Override
    public void setHomeTeam(String name) {

    }

    public void setHome(String Home) {
        this.Home = Home;
    }

    public void setVisit(String Visit) {
        this.Visit = Visit;
    }

    @Override
    public void setVisitingTeam(String name) {

    }

    @Override
    public String FinalScore() {

        return null;
    }
}