用java(一)定义一个抽象类Person,有三个属性:姓名、性别、联系电话,用构造函数对三个属性进行赋初值,定义函数输出三个属性的值; (二)定义一个接口Person_Interface,声明一个常量为薪酬标准(自己设置一个值),声明一个方法计算薪酬(参数为天数) (三)定义一个学生类继承Person类,再增加两个属性:学号和专业,用构造函数对所有属性进行赋初值,并输出学生的所有信息; (四)定义一个教师类继承Person类并实现接口Person_Interface,定义一个工号,定义一个函数对教师的所有属性进行赋初值,并根据输入的天数结算教师薪酬,再定一个函数显示教师的所有信息。 (五)定义一个测试类,对教师类和学生类实例化,并赋初值和显示出来。
时间: 2024-02-01 18:02:39 浏览: 73
实验:JAVA类的使用
好的,以下是Java代码实现:
```java
// 定义抽象类Person
abstract class Person {
private String name;
private String gender;
private String phone;
// 构造函数,对三个属性进行赋初值
public Person(String name, String gender, String phone) {
this.name = name;
this.gender = gender;
this.phone = phone;
}
// 输出三个属性的值
public void showInfo() {
System.out.println("姓名:" + name);
System.out.println("性别:" + gender);
System.out.println("联系电话:" + phone);
}
}
// 定义接口Person_Interface
interface Person_Interface {
double SALARY_STANDARD = 5000; // 常量薪酬标准
// 计算薪酬
double calcSalary(int days);
}
// 定义学生类,继承Person类
class Student extends Person {
private String stuId;
private String major;
// 构造函数,对所有属性进行赋初值
public Student(String name, String gender, String phone, String stuId, String major) {
super(name, gender, phone);
this.stuId = stuId;
this.major = major;
}
// 输出学生的所有信息
public void showInfo() {
super.showInfo(); // 调用父类的showInfo方法
System.out.println("学号:" + stuId);
System.out.println("专业:" + major);
}
}
// 定义教师类,继承Person类并实现接口Person_Interface
class Teacher extends Person implements Person_Interface {
private String empId;
// 构造函数,对所有属性进行赋初值
public Teacher(String name, String gender, String phone, String empId) {
super(name, gender, phone);
this.empId = empId;
}
// 计算教师薪酬,实现接口中的calcSalary方法
public double calcSalary(int days) {
return SALARY_STANDARD * days;
}
// 显示教师的所有信息
public void showInfo() {
super.showInfo(); // 调用父类的showInfo方法
System.out.println("工号:" + empId);
}
}
// 定义测试类Test
public class Test {
public static void main(String[] args) {
// 实例化一个学生对象
Student student = new Student("张三", "男", "123456789", "20180001", "计算机科学");
// 实例化一个教师对象
Teacher teacher = new Teacher("李四", "女", "987654321", "T001");
// 调用showInfo方法显示学生和教师的所有信息
System.out.println("学生信息:");
student.showInfo();
System.out.println("教师信息:");
teacher.showInfo();
// 计算教师薪酬并输出
int days = 20;
double salary = teacher.calcSalary(days);
System.out.println("教师薪酬:" + salary);
}
}
```
上述代码中,`Person`是一个抽象类,包含三个属性:`name`、`gender`、`phone`,以及一个构造函数和一个输出所有属性值的方法`showInfo()`。`Person_Interface`是一个接口,声明了一个常量`SALARY_STANDARD`和一个计算薪酬的方法`calcSalary()`。`Student`和`Teacher`都继承了`Person`类,`Student`增加了两个属性`stuId`和`major`,`Teacher`增加了一个属性`empId`,并实现了`Person_Interface`接口中的方法`calcSalary()`。`Test`类包含了`main`方法,在`main`方法中实例化了一个`Student`对象和一个`Teacher`对象,并分别给它们赋初值。最后,调用它们的`showInfo()`方法显示它们的所有信息,并计算教师薪酬并输出。
阅读全文