定义一个Person类,包含成员变量id,成员方法print()用于输出该成员变量;
定义Teacher类继承自Person类,新增成员变量tid,成员方法print()用于输出id和tid两个成员变量;
定义Student类继承自Person类,新增成员变量sid,成员方法print()用于输出id和sid两个成员变量;
定义主类Test,分别创建父类和两个子类对象,通过多态调用每个对象输出相应对象的信息。
注:
1)通过构造方法初始化成员变量。
2)需要4个java文件:Person.java,Teacher.java,Student.java, Test.java
person类
class Person {
String id;
Person(String id) {
this.id = id;
} //定义Person的id
void print() {
System.out.println("id:" + id);
} //输出id
}
Student类
class Student extends Person {
String sid; //定义studentid
Student(String id, String sid) {
super(id); //在子类中调用父类构造方法id
this.sid = sid;
}
void print() {
super.print();
System.out.println("sid:" + sid);
} //输出
}
class Teacher extends Person {
String tid;
Teacher(String id, String tid) {
super(id);
this.tid = tid;
}
void print() {
super.print();
System.out.println("tid:" + tid);
}
}
public class Test {
public static void main(String[] args){
Person[] per = new Person[3];
per[0] = new Person("p101");
per[1] = new Teacher("p102","t102");
per[2] = new Student("p103","s103");
for(int i=0; i<3; i++) {
per[i].print();
}
}
}