Java,堆叠类

Java,堆叠类,java,arrays,class,Java,Arrays,Class,创建一个包含其他类且自身可以添加到数组中的类的最佳/最有效方法是什么 基本上,我想要一个包含“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)

创建一个包含其他类且自身可以添加到数组中的类的最佳/最有效方法是什么

基本上,我想要一个包含“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);
}
其中包含所有的“set”和“get”方法。所以我可以把它作为数组子类[]。 但是我也想要一个“上层类”,我可以用
UpperClass.add(SubClass 1)向它添加多个“子类”
但我也希望大写类有自己的“name”,并将其全部保存为和数组UpperClass[]。我希望它作为数组对单独的列求和,以便将其显示为:

UpperClassName   25    56
Sub1             10    20
Sub2             15    36    
我想我可以创建
子类(stringupperclassname)
,然后使用
setVal
,在其中我将所有其他子类的Val1添加到这个上层类中,然后将其全部作为数组,这听起来有点混乱

最后,我希望将同一个大写类添加到超类中,但仅作为大写类的第一行。但我认为这只是上层阶级的一些小改动? 要获得:


有什么简单(干净)的方法可以做到这一点吗?

好的,所以你想要有火车,里面有汽车,里面有人。你想知道每个人有多少钱,还有每辆车和每列火车有多少钱

所以你需要

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;
    }
    ...
}
公共类人物{
私人双重货币;
公共资金
退钱;
}
...
}
公车{
私人名单人员;
公款{
双结果=0.0;
用于(人:人){
结果+=person.getMoney();
}
返回结果;
}
...
}
公车{
私家车名单;
公共资金{
双结果=0.0;
用于(汽车:汽车){
结果+=car.getMoney();
}
返回结果;
}
...
}

就这么简单。就像真实的对象一样,Java对象可以包含其他对象。

好的,所以你想要火车,包含汽车,包含人。你想知道每个人有多少钱,还有每辆车和每列火车有多少钱

所以你需要

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;
    }
    ...
}
公共类人物{
私人双重货币;
公共资金
退钱;
}
...
}
公车{
私人名单人员;
公款{
双结果=0.0;
用于(人:人){
结果+=person.getMoney();
}
返回结果;
}
...
}
公车{
私家车名单;
公共资金{
双结果=0.0;
用于(汽车:汽车){
结果+=car.getMoney();
}
返回结果;
}
...
}

就这么简单。就像真实的对象一样,Java对象可以包含其他对象。

好的,所以你想要火车,包含汽车,包含人。你想知道每个人有多少钱,还有每辆车和每列火车有多少钱

所以你需要

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;
    }
    ...
}
公共类人物{
私人双重货币;
公共资金
退钱;
}
...
}
公车{
私人名单人员;
公款{
双结果=0.0;
用于(人:人){
结果+=person.getMoney();
}
返回结果;
}
...
}
公车{
私家车名单;
公共资金{
双结果=0.0;
用于(汽车:汽车){
结果+=car.getMoney();
}
返回结果;
}
...
}

就这么简单。就像真实的对象一样,Java对象可以包含其他对象。

好的,所以你想要火车,包含汽车,包含人。你想知道每个人有多少钱,还有每辆车和每列火车有多少钱

所以你需要

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;
    }
    ...
}
公共类人物{
私人双重货币;
公共资金
退钱;
}
...
}
公车{
私人名单人员;
公款{
双结果=0.0;
用于(人:人){
结果+=person.getMoney();
}
返回结果;
}
...
}
公车{
私家车名单;
公共资金{
双结果=0.0;
用于(汽车:汽车){
结果+=car.getMoney();
}
返回结果;
}
...
}

就这么简单。就像真实对象一样,Java对象可以包含其他对象。

我不明白你的问题。你不明白什么?我想创建一个类,我会把它们都转换成数组+数组的名称和值。我不明白你的问题。你不明白什么?我想创建一个类,我会把它们都转换成数组+数组的名称和值。我不明白你的问题。你不明白什么?我想创建一个类,我会把它们都转换成数组+数组的名称和值。我不明白你的问题。你不明白什么?我希望能够创建一个类,我会把它们都转换成数组+名称和值Array@JB使。。。很好的解决方案。。它是一个名称(标准)设计模式吗?如果是的话,你能给出答案吗name@YSBhai:不是真正的设计模式。我称之为“构图”。@JB Nizet。。。很好的解决方案。。它是一个名称(标准)设计模式吗?如果是的话,你能给出答案吗name@YSBhai:不是真正的设计模式。我称之为“构图”。@JB Nizet。。。很好的解决方案。。它是一个名称(标准)设计模式吗?如果是的话,你能给出答案吗name@YSBhai:不是真正的设计模式。我称之为“构图”。@JB Nizet。。。尼斯溶质