2016-10-08 67 views
1

對不起,如果這已被張貼在一個不同的標題,我敢肯定,但我沒有找到它。如何用Java中的變量字符串名稱創建類的實例?

假設你有下面的代碼:

public class Main{ 
    public static void main(String[] args) 
    { 
     String[] names = {"James", "Allison"}; 
     int[] ages = {10, 12}; 

     for (int i = 0; i < names.length; i++) 
     { 
      Item names[i] = new Item(ages[i]);//line that will produce the error 
    } 
} 

class Item{ 
    private int age; 

    Item(int theirAge){ 
     age = theirAge; 
    } 
} 

下面這段代碼將產生來自名稱重複的變量錯誤[I]變量已經被定義爲一個字符串,但現在我們正在努力把它定義作爲一個項目。我嘗試了很多東西,但似乎無法得到它。

+3

您不能_redefine_變量。如果它被定義爲一個'String',它將會_always_是一個'String'並且你不能改變它。 – tkausl

+0

不要嘗試在相同範圍內重用變量。 Java對這樣的事情非常特別。 – scrappedcola

+0

@tkausl好吧,所以這是不可能在Java中呢? – Craig

回答

0
public class Main { 
     public static void main(String[] args){ 
      String[] names = {"James", "Allison"};// variable a 
      int[] ages = {10, 12}; 

      for (int i = 0; i < names.length; i++){ 
       Item names[i] = new Item(ages[i]);//variable b 
      } 
} 

class Item{ 
    private int age; 
    Item(int theirAge){ 
    age = theirAge; 
    } 
} 

因爲你有兩個變量具有相同的名稱,變量a和變量b。對你而言,解決方案是要麼更改變量b的名稱,要麼使用現有變量而不再聲明它。但是,在這種情況下,您從A到B的類型不同。您不能使用現有變量。你只需要聲明一個新的Item對象,但名稱不同。

希望它有幫助。

相關問題