java程序设计第4题

java

img


abstract class Stud{
    
    abstract void eat();
    abstract void study();
    
}
class Undergraduate extends Stud{
    void eat() {
        System.out.println("本科生正在吃饭。。。");
    }
    void study() {
        System.out.println("本科生正在学习。。。");
    }
}
class Graduate extends Stud{
    void eat() {
        System.out.println("研究生正在吃饭。。。");
    }
    void study() {
        System.out.println("研究生正在学习。。。");
    }
}
public class 继承学生类 {
    public static void main(String[] args) {
        Stud s1= new Undergraduate();
        s1.eat();
        s1.study();
        Stud s2 = new Graduate();
        s2.eat();
        s2.study();
    }
}

public class Person {
    private String name;
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public Person(String name) { this.name = name; }
    public String display () { return "姓名:" + this.name; }
}
public class Teacher extends Person {
    private String professionalTitle;
    public String getProfessionalTitle() { return professionalTitle; }
    public void setProfessionalTitle(String professionalTitle) { this.professionalTitle = professionalTitle; }
    public Teacher(String name, String professionalTitle) { super(name); this.professionalTitle = professionalTitle; }
    public String display () { return "姓名:" + super.getName() + "---" + "职称:" + this.professionalTitle; }
}
public class Student extends Person {
    private int studentNumber;
    public int getStudentNumber() { return studentNumber; }
    public void setStudentNumber(int studentNumber) { this.studentNumber = studentNumber; }
    public Student(String name, int studentNumber) { super(name);  this.studentNumber = studentNumber; }
    public String display () { return "学号:" + this.studentNumber; }
}
public class Undergraduate extends Student {
    private int grade;
    public int getGrade() { return grade; }
    public void setGrade(int grade) { this.grade = grade; }
    public Undergraduate(String name, int studentNumber, int grade) { super(name, studentNumber); this.grade = grade; }
    public String display () { return "姓名:" + super.getName() + "---" + "学号:" + super.getStudentNumber() + "---" + "年级:" + this.grade; }
}
public class Test {
    public static void main(String[] args) {
        Person p1 = new Teacher("丹尼尔", "教授");
        System.out.println( p1.display() );
        Person p2 = new Undergraduate("凯迪", 1, 1);
        System.out.println( p2.display() );
    }
}

代码复制走自己美化一下,这么发能节省点空间
运行效果:

img