定义一个Person类,封装有name和age两个属性,相应属性都有getter和setter方法,重写toString方法,使之返回“姓名是XX,年龄是XX”, Student类是Person类的子类,新增一个属性school,并重写toString方法,使之返回“姓名是XX,年龄是XX,学校是XX”;编写测试类(命名为PersonTest学号.java)验证。
时间: 2024-02-18 13:03:18 浏览: 107
好的,我来为你解答这个问题。
首先,定义Person类,封装有name和age两个属性,相应属性都有getter和setter方法,重写toString方法,使之返回“姓名是XX,年龄是XX”:
```java
public 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 void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "姓名是" + name + ",年龄是" + age;
}
}
```
接下来,定义Student类,继承Person类,并新增一个属性school,重写toString方法,使之返回“姓名是XX,年龄是XX,学校是XX”:
```java
public class Student extends Person {
private String school;
public Student(String name, int age, String school) {
super(name, age);
this.school = school;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
@Override
public String toString() {
return super.toString() + ",学校是" + school;
}
}
```
在PersonTest类中进行测试:
```java
public class PersonTest {
public static void main(String[] args) {
Person person = new Person("张三", 20);
System.out.println(person);
Student student = new Student("李四", 18, "清华大学");
System.out.println(student);
}
}
```
输出结果如下:
```
姓名是张三,年龄是20
姓名是李四,年龄是18,学校是清华大学
```
我们可以看到,Person类和Student类的getter、setter方法和toString方法都已经成功实现,并且输出了正确的结果。
希望这个例子能够帮助你理解继承、封装和重写方法的概念。
阅读全文