java编程题

2025-06-22 20:50:10
推荐回答(1个)
回答1:

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student []stu=new Student[5];
stu[0]=new Student("aa", 18);
stu[1]=new Student("bb", 19);
stu[2]=new Postgraduate("aa", 18,"cs");
stu[3]=new Postgraduate("aa", 18,"am");
stu[4]=new Postgraduate("aa", 18,"database");
//打印成员变量自己打印
//将stu[0]指向stu[2]
stu[0]=stu[2];
System.out.println(stu[0].getName()+stu[0].getAge());

}

}
class Student{
private String name;
private int age;

public Student(String name, int age) {
super();
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;
}

}
class Undergraduate extends Student{
private String speciality;

public Undergraduate(String name, int age, String speciality) {
super(name, age);
this.speciality = speciality;
}

public String getSpeciality() {
return speciality;
}

public void setSpeciality(String speciality) {
this.speciality = speciality;
}

}
class Postgraduate extends Student{
private String studydirection;

public Postgraduate(String name, int age, String studydirection) {
super(name, age);
this.studydirection = studydirection;
}

public String getStudydirection() {
return studydirection;
}

public void setStudydirection(String studydirection) {
this.studydirection = studydirection;
}

}

个人觉得这样命名方式很不好的
写起来很不习惯
PostGraduate更好的