制作包含其他类并且可以自身添加到Array的类的最佳/最有效方法是什么?
基本上,我想拥有一个包含“名称”,“ 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',可以使用
UpperClass.add(SubClass1);
向其中添加多个'SubClass'。但是我也希望UpperClass具有自己的'name',并将其全部保留为Array UpperClass []。我希望它作为数组来汇总单独的列,因此我可以将其显示为:UpperClassName 25 56
Sub1 10 20
Sub2 15 36
我想我可以创建
SubClass(String UpperClassName)
,然后使用setVal
,在其中我将在此UpperClass中添加所有其他子类的Val1,然后将其全部作为数组放置,听起来有点混乱。最后,我希望将相同的UpperClass添加到SuperClass中,但仅作为UpperClass的第一行。但是我认为这只是经过一些小的修改的UpperClass吗?
要得到:
UpperClassName 25 56
UpperCLassName 30 87
UpperClassName 20 78
有没有简单(干净)的方法可以做到这一点?
最佳答案
好的,因此您想要拥有包含汽车和人员的火车。您希望能够知道每个人有多少钱,而且还知道每辆汽车和每列火车有多少钱。
所以你需要
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对象可以包含其他对象。
关于java - Java,堆栈类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23713262/