制作包含其他类并且可以自身添加到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/

10-09 01:04