定义一个Student类,继承Person类,有String类型的属性ID和int类型的属性classes。 定义无参构造器,每次无参构造器被调用会在控制台打印"创建一名学生。 定义有参构造器,构造器有String类型的形参name,String类型的形参gender,int类型的形参age,String类型的形参ID和int类型的形参classes,调用此构造器首先会使用name、gender和age三个形参通过super关键字调用父类构造器赋值,再利用形参和this关键字为此对象的ID届属性和 classes届性赋值。 定义Test类,在其中定义main方法。在main方法中首先使用无参构造器获得Teacher类对象t和Student类对象s,再使用一名你熟悉的学校老师的信息和你自己以及一位你的室友的信息,得到另外的Teacher对象 (t1)和2位Student对象 (s1和s2)。打印输出对象信息,每行一人。
时间: 2023-01-28 20:45:11 浏览: 80
这是如何定义Student类和有参构造器的代码:
```
class Student extends Person {
String ID;
int classes;
// 无参构造器
Student() {
System.out.println("创建一名学生。");
}
// 有参构造器
Student(String name, String gender, int age, String ID, int classes) {
super(name, gender, age); // 调用父类构造器
this.ID = ID;
this.classes = classes;
}
}
```
这是如何在Test类的main方法中使用构造器创建Teacher和Student对象的代码:
```
public class Test {
public static void main(String[] args) {
// 使用无参构造器创建Teacher和Student对象
Teacher t = new Teacher();
Student s = new Student();
// 使用有参构造器创建Teacher和Student对象
Teacher t1 = new Teacher("张老师", "男", 35, "数学");
Student s1 = new Student("李小龙", "男", 20, "123456", 3);
Student s2 = new Student("王小丽", "女", 19, "987654", 2);
// 打印输出对象信息
System.out.println(t.name + " " + t.gender + " " + t.age + " " + t.subject);
System.out.println(s.name + " " + s.gender + " " + s.age + " " + s.ID + " " + s.classes);
System.out.println(t1.name + " " + t1.gender + " " + t1.age + " " + t1.subject);
System.out.println(s1.name + " " + s1.gender + " " + s1.age + " " + s1.ID + " " + s1.classes);
System.out.println(s2.name + " " + s2.gender + " " + s2.age + " " + s2.ID + " " + s2.classes);
}
}
```
请注意,这是假设Person类已经存在,并且具有String类型的属性name、gender和int类型的属性age,以及有参构造器。
阅读全文