2009-11-28 175 views
0

的Java/OO新手问题:(Java的新手)实例化未知数量的对象

main实例Track类。现在我想要这个对象 - track1 - 实例化许多Clip对象,其数量直到运行时才会知道。从Track类里面我可以做一个新的Clip这样的:

Clip clip1 = new Clip(); // this is track1.clip1 from main 

但是,当我要添加基于用户输入,如何以及在哪里做这更多的剪辑?从main,是这样的:

Clip track1.clipX = new Clip(); 

如何命名和参考Clip对象时,我不知道有多少会是什么?

+0

只是顺便说一句,Java类,按照惯例,先从captial信。 – 2009-11-28 23:07:01

+0

谢谢@Nathan。 – carillonator 2009-11-28 23:09:43

回答

7

你会使用一个集合(如列表或设置)来保存多个剪辑对象:

int numberOfClips = 10; 
List<Clip> clips = new ArrayList<Clip>(); 
for (int i = 0; i < numberOfClips; i++) { 
    Clip clip = new Clip(); 
    clips.add(clip); 
} 

这将增加10个剪辑对象数组clips。而不是硬编码到10,你可以根据用户的输入设置numberOfClips。

The List Java docs page描述的是你可以在列表上调用的方法,这样会告诉你如何得到列表中的项目,从列表中删除项目等

+0

非常完美,非常感谢。 – carillonator 2009-11-28 23:12:06

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); 
...