public static ArrayList <Student> createStudents()
{
ArrayList<Student> students;
students = new ArrayList<Student>();
students.add(new UndergradStudent("Kvin", 15, 'M', 4));
students.add(new GraduateStudent("Kaley", 24, 'F', "Expert Systems"));
students.add(new UndergradStudent("Mike", 25, 'M', 2));
students.add(new GraduateStudent("Bob", 20, 'F', "Extreme Programming"));
return students;
}
public static void printGradStudents(ArrayList<Student> students)
{
int count;
Student student;
System.out.println("\n\nList of Graduate Students:\n");
for (count=0; count<students.size(); count++)
{
student = students.get(count);
if (?)
{
System.out.println(student);
}
}
}
##研究生是学生的子类,如果我只想打印研究生的信息,我应该在if语句中加入什么?##
答案 0 :(得分:0)
if(student instanceof (GraduateStudent))
你想检查传入的类是否是GraduateStudent或underGraduate的实例。它将返回一个布尔。
答案 1 :(得分:0)
if (student instanceof GraduateStudent)
应该处理它。 instanceof检查它是否是该类的成员或从该类继承。所以学生将成为研究生和学生的实例
正如评论中正确提到的那样,为每个实例添加showInfo()
类将是另一种方法。
答案 2 :(得分:0)
您可以使用instanceOf
运算符
if(student instanceOf GraduateStudent)