【发布时间】:2014-11-03 21:52:47
【问题描述】:
我有这样的代码:
public class Main {
public static void main(String[] args) {
List<Object> arrayList = new ArrayList<Object>();
arrayList.add(new Student("First", "Last", "10"));
System.out.println(arrayList);
}
}
学生班级是:
public class Student extends Human {
private String grade;
public Student(String first, String last, String gradeValue) {
super(first, last);
this.setGrade(gradeValue);
}
public void setGrade(String grade) {
this.grade = grade;
}
public String getGrade() {
return grade;
}
}
它将从 Human Class 扩展:
public abstract class Human {
private String firstname;
private String lastname;
public Human(String first, String last) {
this.setFirstname(first);
this.setLastname(last);
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getLastname() {
return lastname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getFirstname() {
return firstname;
}
}
主要想法是我尝试创建一个包含 FirstName LastName 和 Grade 的 10 名学生的列表。
现在,当我尝试在 main 方法中打印列表时,它会显示:[Student@6fbae5f5]。
我希望它显示的是:First Last 10。
请注意,我尝试将更多学生添加到列表中,它必须显示如下:
名字1 姓氏1 10
名字2 姓氏2 3
名字3 姓氏3 7 ......................
【问题讨论】:
-
覆盖
toString。