我有一個具有類型數組的內部類的類。我想訪問外部類之外的內部類的局部變量。如何訪問內部類的局部變量
public class Fruits {
public Citrus citrus[];
}
public class Citrus{
public String lemon;
public String orange;
}
現在我想從內部類獲得的變量lemon
這些類之外。 我得到的錯誤類不能被解析爲輸入
我有一個具有類型數組的內部類的類。我想訪問外部類之外的內部類的局部變量。如何訪問內部類的局部變量
public class Fruits {
public Citrus citrus[];
}
public class Citrus{
public String lemon;
public String orange;
}
現在我想從內部類獲得的變量lemon
這些類之外。 我得到的錯誤類不能被解析爲輸入
我找到U A的方式。 當你使用數組時,你應該使用索引來訪問數組中的每一項。
public class Fruits {
public Citrus citrus[];
public void test() {
String temp=citrus[0].lemon;
}
}
class Citrus {
public String lemon;
public String orange;
}
現在在你可以得到檸檬和橙子陣列。
我想所有你想要從外部訪問內部類。 如果你只是想實例化內部類,下面的代碼片斷可能會有幫助。
代碼不言自明只是通過評論。
public class Fruits {
public Citrus[] Citrus;
public class Citrus {
public String lemon;
public String orange;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Citrus [lemon=");
builder.append(lemon);
builder.append(", orange=");
builder.append(orange);
builder.append("]");
return builder.toString();
}
}
public static void main(String...args)
{
//create the Fruits Object
Fruits f = new Fruits();
//Array Declaration for inner class
Fruits.Citrus[] citrusArray = new Fruits.Citrus[1];
//instanciate the inner class
Fruits.Citrus citrus = f.new Citrus();
//assigning the value
citrus.lemon = "Lemon";
citrus.orange="Orance";
//set instance of inner class into the array of inner class
citrusArray[0]=citrus;
//setting array into the insatnce variable of Fruits class
f.Citrus = citrusArray;
//printing the result
System.out.println(Arrays.toString(f.Citrus));
}
}
我猜,'檸檬'和'桔子'是Citrus類的實例變量,不是局部變量。 – gprathour
這是什麼?你想做什麼?使用嵌套類的目的是什麼? –
看起來你應該把注意力放在簡單的語法上,然後再轉向內部類。由於語法錯誤,您發佈的代碼甚至不會編譯。 –