我有这些代码行:
Family family = new Family("A");
Man man = new Man("B");
Woman woman = new Woman("C");
family.addPerson(man);
family.addPerson(woman)
System.out.println(family.toString() + ": " + family.getFamilyMembers());
这是家庭课程:
public class Family {
private String name;
private ArrayList<Person> family = new ArrayList<>();
public Family(String name) {
this.name = name;
}
public void addPerson(Person person) {
this.family.add(person);
}
public String getFamilyMembers() {
for (Person person : this.family) {
System.out.println(person.toString());
}
return "";
}
@Override
public String toString() {
return this.name;
}
}
我不明白的是,当我运行程序时 family.getFamilyMembers(); 在 family.toString() 获取之前执行。对此有什么解释吗?
控制台输出:
B
C
A:
杨魅力
HUWWW
倚天杖
随时随地看视频慕课网APP
相关分类