2、按照要求编写一个Java应用程序: 1、定义一个抽象类Person,封装属性name、age,定义带两个参数的构造方法,一 个抽象方法talk(); 2、定义一个Student类,继承自Person类,添加私有属性school,重写父类的tal
时间: 2024-01-18 16:04:36 浏览: 124
我可以回答你的问题,但是我并不能为你完成编程任务。以下是对你的问题的回答:
首先,我们需要定义一个抽象类Person:
```java
public abstract class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void talk();
}
```
这个抽象类包含了属性name和age,以及一个带两个参数的构造方法和一个抽象方法talk()。
接下来,我们定义一个Student类,它继承自Person类,并添加了私有属性school,并重写了父类的talk()方法:
```java
public class Student extends Person {
private String school;
public Student(String name, int age, String school) {
super(name, age);
this.school = school;
}
@Override
public void talk() {
System.out.println("我是一名学生,我的名字是" + name + ",今年" + age + "岁,我就读于" + school + "。");
}
}
```
在这个类中,我们调用了父类的构造方法,并在子类中添加了属性school。我们还重写了父类的talk()方法,并在其中打印出学生的信息。
最后,我们可以编写一个测试类来测试Student类:
```java
public class Test {
public static void main(String[] args) {
Student student = new Student("张三", 20, "清华大学");
student.talk();
}
}
```
在这个测试类中,我们创建了一个Student对象,并调用了它的talk()方法来输出学生的信息。
阅读全文