优化这串代码创建父类Person属性有姓名年龄方法有两个构造方法,1个普通方法用于显示姓名和年龄,还有针对属性的输入输出方法创建子类Student属性有学号方法有两个构造方法;1个普通方法用于显示学号,姓名,年龄;创建测试类StudentTest进行测试。
时间: 2024-04-29 15:24:39 浏览: 55
这是一个编程问题,我可以回答。以下是优化后的代码:
```java
public class Person {
private String name;
private int age;
public Person() {}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void display() {
System.out.println("姓名:" + name + ",年龄:" + 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;
}
}
public class Student extends Person {
private String studentId;
public Student() {}
public Student(String name, int age, String studentId) {
super(name, age);
this.studentId = studentId;
}
public void display() {
System.out.println("学号:" + studentId + ",姓名:" + getName() + ",年龄:" + getAge());
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
}
public class StudentTest {
public static void main(String[] args) {
Student s = new Student("小明", 18, "001");
s.display();
}
}
```
这个程序创建了一个`Person`类和一个继承自`Person`的`Student`类,`Person`类有`name`和`age`两个私有属性,以及两个构造方法、一个显示姓名和年龄的方法以及用于读取和设置属性的方法。`Student`类新增了一个`studentId`属性,并覆盖了父类的`display()`方法,用于显示学号、姓名和年龄。`StudentTest`类用于测试`Student`类的功能,创建一个`Student`对象并调用`display()`方法。
阅读全文