编写教师类
题目要求
这里只写一个子类,教授类
现在新建3个类 -----app测试类-----teacher教师类(父类)------professor教授类(子类)
先写教师类
package com.practice.Keshan;
public class Teacher {
private String name; //姓名
private int age; //年龄
private String post; //职称
private double salary; //基本工资
private double grade; //工资级别
//有参构造器
public Teacher(String name, int age, String post, double salary, double grade) {
this.name = name;
this.age = age;
this.post = post;
this.salary = salary;
this.grade = grade;
}
//写set 和 get 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPost() {
return post;
}
public void setPost(String post) {
this.post = post;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
this.grade = grade;
}
//写一个方法,返回属性信息
public String introduce(){
System.out.println("基本信息");
return "姓名:"+name+"\t"+"年龄:" +age+"\t"+"职称:"+post+"\t"+"基本工资:"+salary+"\t"+"工资级别:"+grade;
}
}
然后写子类
package com.practice.Keshan;
//教授类-=------------------ 教师类子类
public class Professor extends Teacher {//这里报错的原因是调用不到父类的无参构造,所以子类需要重写父类的有参构造
public Professor(String name, int age, String post, double salary, double grade) {
super(name, age, post, salary, grade);
}
//按照题目要求子类要重写父类的返回方法
//且重写了之后他也可以调用父类的introduce
@Override
public String introduce() {
System.out.println("我是教授类");
return super.introduce();
}
}
然后测试类----开始运行
package com.practice.Keshan;
public class app {
public static void main(String[] args) {
Teacher teacher = new Teacher("LYZ", 23, "教授", 899999, 1.3);
System.out.println(teacher.introduce()); //这里输出的是Teacher类的
System.out.println("=============================我是分割线====================================");
Professor professor = new Professor("LYZ", 23, "教授", 899999, 1.3);
//因为重写了父类的introduce,所以他也能用
System.out.println(professor.introduce()); //这里是输出子类的
}
}
运行结果