簡體   English   中英

動態類引用變量JAVA?

[英]Dynamic class reference variable JAVA?

我是Java新手,仍然有很多東西要學習。 我具有嵌入式C編程經驗,但對面向對象的編程是全新的。

我得到了我需要了解的以下內容。 當您使用Java創建類時,它就是您要創建的對象的藍圖。 並說我有一個帶有按鈕的GUI,在單擊“創建新自行車”按鈕后,您會在GUI等中輸入它要求的所有實例變量。

然后,說完一個完整的按鈕后,將創建一個對象。 利用您在GUI中提供的所有數據來適應藍圖。

因此,在您的動作偵聽器中,當按下“完成”按鈕時,將顯示一段代碼,例如Bicycle bike = new Bicycle();。 應該運行。 但是自行車是靜態的,您永遠都不知道會有多少輛自行車。 那么如何使參考變量動態化或像其動態一樣起作用呢?

抱歉,我嘗試使用以下方法清除它。

public void actionPerformed(ActionEvent e) {
            Bicycle bike = new Bicycle();
    }

這是按下Jbutton時執行的動作。 這將創建一個名為“ bike”的對象。 但是當再次按下按鈕時會發生什么呢?它會覆蓋先前名為Bike的對象嗎?

而且您不知道用戶通過按下按鈕將創建多少個自行車類型的對象。 所以我想知道是否可以通過以下方式使用數組之類的東西

String bike[] = {"bike1","bike2,"bike3"};
for(int i=0;i<3;i++){
    Bicycle bike[i] = new Bicycle();
}

還是使用“數組列表”,因為最終您將不知道將創建多少個對象?

那么如何使參考變量動態化或像其動態一樣起作用呢?

默認情況下,這就是引用的行為。 它們沒有什么靜態的。 即使您使用static字段,從C理解的意義上講,它也不是靜態的。 它在類加載之前不存在,並且如果將類加載到不同的類加載器中,則可以多次存在。 如果卸載了類加載器,它甚至可能消失。

如果您的字段不是static ,則它是動態的,尤其是它是局部變量時。

如果您想要一個可以保存對多個Bicycle實例的引用的變量,則可以使用Collection例如List

List<Bicycle> bikes = new ArrayList<Bicycle>();

然后,每次創建新的Bike實例時,都將其添加到List中:

Bicycle bike = new Bicycle(); 
bikes.add (bike);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM