Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我将如何创建一个字段来存储另一个类的对象?_Java_Class_Object_Field - Fatal编程技术网

Java 我将如何创建一个字段来存储另一个类的对象?

Java 我将如何创建一个字段来存储另一个类的对象?,java,class,object,field,Java,Class,Object,Field,这里我有一个班级表演,代表音乐节的表演 public class Act { private int num_members; private String name; private String kind; private String stage; public Act(int num_members, String name, String kind, String stage) { this.num_members = num

这里我有一个班级表演,代表音乐节的表演

public class Act {
    private int num_members;
    private String name;
    private String kind;
    private String stage;


    public Act(int num_members, String name, String kind, String stage) {
        this.num_members = num_members;
        this.name = name;
        this.kind = kind;
        this.stage = stage;
    }

    public Act(int num_members, String name, String kind) {
        this.num_members = num_members;
        this.name = name;
        this.kind = kind;
        stage = null;
    }

    public int getNum_members() {
        return num_members;
    }

    public void setNum_members(int num_members) {
        this.num_members = num_members;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public String getStage() {
        return stage;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String toString() {
        return "(" + num_members + ", " + name + ", " + kind + ", " + stage + ")";
    }
}
在另一个名为LineUp的类中,我希望在名为
acts
的字段中存储最多30个Act,并且还有一个addAct方法,它将
Act
作为参数并将其添加到
acts
。这是我到目前为止的代码,但我不太确定该怎么做


public class LineUp {
    Act[] acts;


    public LineUp() {
        Act[] acts = new Act[30];
    }

    void addAct(Act a) {

    }
}

如果您使用数组,您必须确保不需要添加超过30个
Act
,并跟踪号码以帮助您,或者更简单的解决方案是使用
列表,因为您不需要为号码烦恼,只需随意添加(或删除)即可

数组:

public class LineUp {
    Act[] acts;
    int number;

    public LineUp() {
        acts = new Act[30]; // you assign to 'this' you don't create a new one
        number = 0; 
    }

    void addAct(Act a) {
        acts[number] = a;
        number++;
    }
}
名单:

public class LineUp {
    List<Act> acts;

    public LineUp() {
        acts = new ArrayList<>;
    }

    void addAct(Act a) {
        acts.add(a);
    }
}
公共类列表{
列出法案;
公众阵容(){
acts=新阵列列表;
}
无效附加法案(法案a){
法案.加入(a);
}
}

使用
列表
并添加大小检查可能很简单。