我试图使一个整数和一个自然数的接口,但我无法使它任何人都可以告诉我我得到的错误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]);}
}
}
提供在Number接口中定义的add抽象方法的实现。"java: 9:error:wholeNumber不是抽象的,也不会覆盖抽象方法add(int,int)"
接口注意事项:
参考:
-https://www.w3schools.com/java/ref_keyword_implements.asp#:~: text=使用了实现关键字,关键字(而不是扩展)。
你在接口中声明了一个函数public void add(int num1, int num2);
add
,但你没有在类中实现它,或者错误地将其命名为public void sum
。要么在接口中将函数声明为sum
,要么在类中更新名称为add
。