Java / OO新手问题:
main
实例化Track
类。现在我希望该对象 - track1
- 实例化许多Clip
个对象,其数量在运行时才会被知道。在Track
课程内,我可以像这样制作一个新的Clip
:
Clip clip1 = new Clip(); // this is track1.clip1 from main
但是当我想根据用户输入添加更多剪辑时,我该怎么做?来自main
,类似于:
Clip track1.clipX = new Clip();
当我不知道会有多少对象时,如何命名和引用Clip
个对象?
答案 0 :(得分:7)
您可以使用Collection(如List或Set)来保存多个Clip对象:
int numberOfClips = 10;
List<Clip> clips = new ArrayList<Clip>();
for (int i = 0; i < numberOfClips; i++) {
Clip clip = new Clip();
clips.add(clip);
}
这会将10个Clip对象添加到数组clips
。您可以根据用户的输入设置numberOfClips,而不是硬编码为10。
The List Java docs page描述了您可以在列表中调用的所有方法,以便向您展示如何获取列表中的项目,从列表中删除项目等。
答案 1 :(得分:3)
为什么不使用List
来保存Track
中的剪辑?
public class Track {
...
List<Clip> clips;
void addClip(Clip clip) {
...
}
}
Clip
:
public class Clip {
private int index;
private String name;
...
}
来自main
:
Track track = new Track();
Clip aClip = new Clip(1, "clip name");
track.addClip(aClip);
Clip anotherClip = new Clip(2, "another name");
track.addClip(anotherClip);
...