Java题,前面都没报错,最后的Add那个为什么错了,不懂

1.定义一个抽象类Person,有三个属性:姓名、性别、联系电话,用构造函数对三个属性进行赋初值,定义函数输出三个属性的值;

2.定义一个接口Person_Interface,声明一个常量为薪酬标准(自己设置一个值),声明一个方法计算薪酬(参数为天数)

3.定义一个学生类继承Person类,再增加两个属性:学号和专业,用构造函数对所有属性进行赋初值,并输出学生的所有信息;

4.定义一个教师类继承Person类并实现接口Person_Interface,定义一个工号,定义一个函数对教师的所有属性进行赋初值,并根据输入的天数结算教师薪酬,再定一个函数显示教师的所有信息。

5.定义一个测试类,对教师类和学生类实例化,并赋初值和显示出来。

package chap03;

public abstract class Person {
protected String name;
protected String sex;
protected String contect;
Person(String name1,String sex1,String contect1){
name=name1;
sex=sex1;
contect=contect1;
}
public void display(){
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("联系方式:"+contect);
}
}

package Impl;

public interface Person_Interface {
public static final double salary=3500.00;
public static final int day=15;
}

package chap03;

public class Student extends Person {
String sno;
String profession;
public Student(String name, String sex, String contect,
String sno1,String profession1) {
super(name, sex, contect);
sno=sno1;
profession=profession1;
// TODO Auto-generated constructor stub
}
public void display(){
System.out.println("学号:"+sno);
System.out.println("专业:"+profession);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("联系方式:"+contect);
}
}

import Impl.Person_Interface;

public class Teacher extends Person implements Person_Interface {
String job_number;
public Teacher(String name1, String sex1,
String contect1,String job_number) {
super(name1, sex1, contect1);
this.job_number=job_number;
// TODO Auto-generated constructor stub
}
public void display(){
System.out.println("工号:"+job_number);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("联系方式:"+contect);
}
}

package chap03;

import Impl.Person_Interface;

public class Add implements Person_Interface {
public void add(int x,int y){//x为天数,y为日资
int z=x*y;
System.out.println("薪资为:"+z);

}

}

package chap03;

public class Test {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("---------------job");
    Student job=new Student("123456","computer",
            "job","男","147258");
    job.display();
    System.out.println("---------------Tom");
    Teacher Tom =new Teacher("159487","Tom","男","Java");
    Tom.display();
}
    Add abc=new Add();
    abc.display();

}

最后为什么报错了呢?求解

因为Add类没有一个叫display()的方法 ,然后因为Add相关的这两行代码放到了main方法外面,所以报错了。

然后应该给Person_Interface接口增加一个计算工资的方法,在Teacher教师类中实现它.

修改了一下,如下,为了方便复制代码和测试,我几个类和接口放在一个代码文件中:

package object;
abstract class Person {
    protected String name;
    protected String sex;
    protected String contect;
    
    Person(String name1,String sex1,String contect1){
        name=name1;
        sex=sex1;
        contect=contect1;
    }
    
    public void display(){
        System.out.println("姓名:"+name);
        System.out.println("性别:"+sex);
        System.out.println("联系方式:"+contect);
    }
}



interface Person_Interface {
    public static final double salary=200.00;
    public static final int day=15;
    
    public double getWorkMoney(int day);
}


 class Student extends Person {
    String sno;
    String profession;
    
    public Student(String name, String sex, String contect,
    String sno1,String profession1) {
        super(name, sex, contect);
        this.sno=sno1;
        profession=profession1;
        // TODO Auto-generated constructor stub
    }
    
    public void display(){
        System.out.println("学号:"+this.sno);
        System.out.println("专业:"+this.profession);
        System.out.println("姓名:"+this.name);
        System.out.println("性别:"+this.sex);
        System.out.println("联系方式:"+this.contect);
    }
}



class Teacher extends Person implements Person_Interface {
    String job_number;
    double money;
    
    public Teacher(String name1, String sex1,
    String contect1,String job_number,int day) {
        super(name1, sex1, contect1);
        this.job_number=job_number;
        // TODO Auto-generated constructor stub
        money = getWorkMoney(day);
    }
    
    
    public void display(){
        System.out.println("工号:"+this.job_number);
        System.out.println("姓名:"+this.name);
        System.out.println("性别:"+this.sex);
        System.out.println("联系方式:"+this.contect);
        System.out.println("工作薪酬:"+this.money);
    }


    @Override
    public double getWorkMoney(int day) {
        // TODO Auto-generated method stub
        return salary*day;
    }
}




//class Add implements Person_Interface {
//    
//    public void add(int x,int y){//x为天数,y为日资
//    int z=x*y;
//    System.out.println("薪资为:"+z);
//    
//    }
//}


public class Test {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("---------------job");
    Student job=new Student("job","男","147258","123456","computer" );
    job.display();
    
    System.out.println("---------------Tom");
    Teacher Tom =new Teacher("Tom","男","Java","159487",30);
    Tom.display();

    
    
    
    }
}

img