2009-11-28 66 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); 
...