導師的名字問我們如何創建一個方法把字符串參數來指定某事
如何創建一個名爲addAlien
新方法,這需要String
參數指定的外國人的名字,並創建一個新的方法內部的異形對象,然後將其添加到ArrayList
。
我只是寫:
public void addAlien(String name)
{
Alien name = new Alien()
}
導師的名字問我們如何創建一個方法把字符串參數來指定某事
如何創建一個名爲addAlien
新方法,這需要String
參數指定的外國人的名字,並創建一個新的方法內部的異形對象,然後將其添加到ArrayList
。
我只是寫:
public void addAlien(String name)
{
Alien name = new Alien()
}
我希望你正在尋找:
ArrayList<Alien> list = new ArrayList<>();
public void addAlien(String name) {
list.add(new Alien(name));
}
在你addAlien方法,輸入參數綁定到標識符 '名稱',如你宣稱:
public void addAlien(String name) ...
所以當用戶將字符串傳遞給方法時,字符串可以通過標識符'name'和fu進一步用於其他目的。 但是之後,你使用非常相同的標識符(即'name')創建了一個Alien類型的變量。在研究進一步的發展之前應該清除這種困惑。
所以不是
Alien name = new Alien()
你應該做的
Alien newlyCreatedAlien = new Alien()
注意到它在語法上是合法的,編譯你寫的代碼,這是一個名爲「陰影」的概念。如果您在理解或查找相關材料方面遇到困難,請告知我們。
最後,方法用戶給出的字符串(現在由標識符'name'存儲和參考)應該正確使用! 在這種情況下,我們正在創建(構建)一個新的Alien對象。通常,我們調用一個類的所謂「構造函數」。
new Alien(someParameterPassedToTheConstructor)
因此存儲在'name'中的信息應該通過構造函數的參數傳遞來創建一個特定的Alien。
new Alien(name)
將是需要的微不足道的解決方案。
注意在由DhiwaTdG提供的解決方案中,新創建的Alien不是使用任何標識符(它被創建並直接添加到列表中)存儲的。這是非常好的,因爲這種方法不需要對這個特殊的外星人進行進一步的操作,然後將其添加到列表中。這是我們之後的列表,而不是外星人(至少在這種方法中)。
希望這會幫助你清理一些混亂。