将构造函数的属性添加到 ArrayList?
Adding a constructor's properties to an ArrayList?
我正在尝试将一个在构造函数中定义的 Person 添加到 ArrayList,这样我就可以调用另一个 class 中的方法。但是,我在实际向 ArrayList 添加 Person
时遇到了问题。这是我目前所拥有的:
成长class更新
public class GrownUp extends Person
{
ArrayList<Person> people;
GrownUp(int age, String name)
{
super(age, name);
this.people = new ArrayList<>();
name = "Bill";
age = 36;
}
public ArrayList<Person> getGrownUp()
{
return people;
}
public void setGrownUp(int age, String name)
{
//how to add a GrownUp?
}
所以需要做的是:
- 将已定义为 "Bill" 36 岁的
Person
添加到 ArrayList people
。
感谢任何帮助,谢谢。
我之前问过一个与此类似的问题,但不清楚我在问什么,所以我改变了我的问题,希望它对我想要实现的目标更有意义。我已经添加了一个 get 方法,但我不知道如何执行 set 方法。我如何将 Person
构造函数关联到 ArrayList 以将一个人添加到其中?
这应该对你有帮助。
public void setGrownUp(int age, String name)
{
people.add(new GrownUp(age,name));
}
我认为在 GrownUp class 中使用 people 数组有点奇怪。尝试将其映射到现实世界。让人们加入 GrownUp 有意义吗?我宁愿把那个数组放在外面,然后这样做:
List<People> people = new ArrayList<>();
people.add(new GrownUp(25, "Alice"));
people.add(new GrownUp(36, "Bill"));
people.add(new Child(5, "Nina"));
The GrownUp class 看起来像这样:
public class GrownUp extends Person {
public GrownUp(int age, String name) {
super(age, name)
}
}
我猜你打算添加更多特定于 GrownUp class 的属性,例如 Optional<DriversLicense> getDriversLicense()
或类似属性。
我正在尝试将一个在构造函数中定义的 Person 添加到 ArrayList,这样我就可以调用另一个 class 中的方法。但是,我在实际向 ArrayList 添加 Person
时遇到了问题。这是我目前所拥有的:
成长class更新
public class GrownUp extends Person
{
ArrayList<Person> people;
GrownUp(int age, String name)
{
super(age, name);
this.people = new ArrayList<>();
name = "Bill";
age = 36;
}
public ArrayList<Person> getGrownUp()
{
return people;
}
public void setGrownUp(int age, String name)
{
//how to add a GrownUp?
}
所以需要做的是:
- 将已定义为 "Bill" 36 岁的
Person
添加到 ArrayListpeople
。
感谢任何帮助,谢谢。
我之前问过一个与此类似的问题,但不清楚我在问什么,所以我改变了我的问题,希望它对我想要实现的目标更有意义。我已经添加了一个 get 方法,但我不知道如何执行 set 方法。我如何将 Person
构造函数关联到 ArrayList 以将一个人添加到其中?
这应该对你有帮助。
public void setGrownUp(int age, String name)
{
people.add(new GrownUp(age,name));
}
我认为在 GrownUp class 中使用 people 数组有点奇怪。尝试将其映射到现实世界。让人们加入 GrownUp 有意义吗?我宁愿把那个数组放在外面,然后这样做:
List<People> people = new ArrayList<>();
people.add(new GrownUp(25, "Alice"));
people.add(new GrownUp(36, "Bill"));
people.add(new Child(5, "Nina"));
The GrownUp class 看起来像这样:
public class GrownUp extends Person {
public GrownUp(int age, String name) {
super(age, name)
}
}
我猜你打算添加更多特定于 GrownUp class 的属性,例如 Optional<DriversLicense> getDriversLicense()
或类似属性。