什么是最好/最有效的方法来创建一个包含其他类的类,并将它自己添加到数组中?
基本上,我希望上课能够拥有' name',' val1'和' val2'所以我猜想最好的方法就是:
public class SubClass {
private String name;
private double val1;
private double val2;
public SubClass(String name, double val1, double val2) {
this.setName(name);
this.setVal1(val1);
this.setVal2(val2);
}
随着所有'设置'和'得到'其中的方法。所以我可以把它作为Array SubClass []。
但我也想要一个' UpperClass'我可以添加多个' SubClass'与UpperClass.add(SubClass1);
一起但我也希望UpperClass有自己的名字'并将其全部保存为和Array UpperClass []一样。我希望它作为Array来对不同的列进行求和,因此我可以将其显示为:
UpperClassName 25 56
Sub1 10 20
Sub2 15 36
我想我可以创建SubClass(String UpperClassName)
,然后使用setVal
我将在此UpperClass中添加所有其他SubClass的Val1,然后将其全部作为数组放置,这听起来有点混乱。< / p>
最后我希望将相同的UpperClass添加到SuperClass中,但仅作为UpperClass的第一行。但我认为只是对UpperClass进行了一些小修改? 得到:
UpperClassName 25 56
UpperCLassName 30 87
UpperClassName 20 78
有没有简单(干净)的方法呢?
答案 0 :(得分:3)
好的,所以你想拥有包含汽车的火车,包含人物。而且你希望能够知道每个人有多少钱,以及每辆车和每列火车有多少钱。
所以你需要
public class Person {
private double money;
public double getMoney()
return money;
}
...
}
public class Car {
private List<Person> persons;
public double getMoney {
double result = 0.0;
for (Person person: persons) {
result += person.getMoney();
}
return result;
}
...
}
public class Train {
private List<Car> cars;
public double getMoney() {
double result = 0.0;
for (Car car : cars) {
result += car.getMoney();
}
return result;
}
...
}
就这么简单。就像真实对象一样,Java对象可以包含其他对象。