提问者:小点点

错误:wholeNumber不是抽象的,不会覆盖数字类wholeNumber中的抽象方法add(int, int)实现number{[重复]


我试图使一个整数和一个自然数的接口,但我无法使它任何人都可以告诉我我得到的错误alp1.java: 9:错误:wholeNumber不是抽象的,不覆盖抽象方法add(int,int)在数字类wholeNumber实现数字{^alp1.java:40:错误:naturalNumber不是抽象的,不覆盖抽象方法add(int,int)在数字类naturalNumber实现数字{

 interface number{
public void validateNumber(int num);
public void add(int num1,int num2);
public void subtract(int num1,int num2);
public void multiply(int num1,int num2);
public void divide(int num1,int num2);
}

class wholeNumber implements number{
public void validateNumber(int num){
    if(num<-46340 || num>46340){
        System.out.println("Wrong input");
    }
}

public void sum(int n1,int n2){
    int sum=n1+n2;
    System.out.println("SUM "+sum);
}
public void subtract(int n1,int n2){
    int ans=n1-n2;
    System.out.println("subtract "+ans);
}
public void multiply(int n1,int n2){
    int ans=n1*n2;
    System.out.println("multiply "+ans);
}
public void divide(int n1,int n2){
    if(n2==0){
        System.out.println("divide 0");
    }
    else{
        int ans=n1/n2;
        System.out.println("divide "+ans);
    }
    
}
 }

  class naturalNumber implements number{
public void validateNumber(int num){
    if(num<0|| num>46340){
        System.out.println("Wrong input");
    }
}

public void sum(int n1,int n2){
    int sum=n1+n2;
    System.out.println("SUM "+sum);
}
public void subtract(int n1,int n2){
    int ans=n1-n2;
    System.out.println("subtract "+ans);
}
public void multiply(int n1,int n2){
    int ans=n1*n2;
    System.out.println("multiply "+ans);
}
public void divide(int n1,int n2){
    if(n2==0){
        System.out.println("divide 0");
    }
    else{
        int ans=n1/n2;
        System.out.println("divide "+ans);
    }
    
}
 }

class alp1{

public static void main(String []args){
    // if(args[0]=="whole"){
    //  wholeNumber obj=new wholeNumber();

    // }
    for(int i=0;i<args.length;i++)
        {System.out.println(args[i]);}
}
}

共2个答案

匿名用户

提供在Number接口中定义的add抽象方法的实现。"java: 9:error:wholeNumber不是抽象的,也不会覆盖抽象方法add(int,int)"

接口注意事项:

  • 它不能用于创建对象(在上面的示例中,不可能在MyMainClass中创建“动物”对象)
  • 接口方法没有主体-主体由“实现”类提供
  • 在实现接口时,您必须覆盖其所有方法
  • 接口方法默认是抽象的和公共的
  • 接口属性默认为公共、静态和最终
  • 接口不能包含构造函数(因为它不能用于创建对象)

参考:

-https://www.w3schools.com/java/ref_keyword_implements.asp#:~: text=使用了实现关键字,关键字(而不是扩展)。

  • https://www.geeksforgeeks.org/interfaces-in-java/

匿名用户

你在接口中声明了一个函数public void add(int num1, int num2);add,但你没有在类中实现它,或者错误地将其命名为public void sum。要么在接口中将函数声明为sum,要么在类中更新名称为add