Java关于对象的实验课题

在班级中上课时,老师在讲台上讲课,偶有提问,会点名学生回答问题。虽然老师和学生都在讲话,但讲话的具体内容却不相同。本案例要求使用抽象类的知识编写一个程序实现老师上课的情景。
(1)定义一个抽象类Person,在Person类中声明两个属性:name和age,并设置其对应的getter方法,用于获取人的姓名和年龄;在Person类中声明一个有参构造方法,用于对Person类中的属性进行初始化;在Person类中声明一个say()方法和一个getContent()方法,在say()方法中调用getContent()方法。
(2)定义类 Student,并继承Person类。在Student类中声明一个属性score;声明Student类的构造方法并重写Person类的getContent()方法。
(3)定义类 Worker,并继承Person类。在Worker类中声明一个属性salary;声明Worker类的构造方法并重写Person类的getContent()方法。
(6)在main() 方法中使用父类引用指向子类对象的方式(向上转型),分别使用Person类和Worker类实例化两个Person对象per1和per2,并分别使用per1和per2调用say()方法。


public class Test {

    public static void main(String[] args) {
        Person person = new Student("zs", 18, 100);
        Person person1 = new Worker("ww", 18, 3000);
        person.say();
        person1.say();
    }

}

abstract class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void say() {
        getContent();
    }

    abstract void getContent();
}

class Student extends Person {

    private int score;

    public Student(String name, int age, int score) {
        super(name, age);
        this.score = score;
    }

    @Override
    void getContent() {
        System.out.println("i am is " + super.getName() + "i score is " + score);
    }
}

class Worker extends Person {

    private int salary;

    public Worker(String name, int age, int salary) {
        super(name, age);
        this.salary = salary;
    }

    @Override
    void getContent() {
        System.out.println("i am is " + super.getName() + "i salary is " + salary);
    }
}

帮助到您的话,希望给个采纳。
博主在1024那天参加活动,发布了一个blog,可以来访问一下,感激不尽。

我想在1024发的一篇博客。_Pumpkin's Blog-CSDN博客 前言  本篇文章不谈技术,只写一些随笔。  直到今天(2021年10月24日)笔者已经毕业一年了。其实在这之前我对于1024,程序员这些名词在心里其实并不是很在意,每年在这一天大概就是看看网上的搞笑新闻以及图片,心里笑一笑就过去了。但是今年对于1024突然有一种别样的感觉,不同于往日,好像这就是我应该过的一个节日。  为什么会产生这样的感觉呢?我思索良久,大概可能是因为已经真正意义的工作了一年,内心接受了自己属于程序员的这个大群体,并且从某种意义上来说这是工作后的第一个1024,新鲜感也是一方面吧。但 https://blog.csdn.net/weixin_44235109/article/details/120924109?spm=1001.2014.3001.5501%E3%80%82

这不是很简单吗。主要运用了Java面向对象的三大特性的知识点(继承),自己写一下,出现错误不会截图提问

都写那么明确了,自己动下手,出错在问。

自己画一张图扁可理解