我有一个类为array的内部类。我想访问外部类外部的内部类中的局部变量。
public class Fruits {
public Citrus citrus[];
}
public class Citrus{
public String lemon;
public String orange;
}
现在我想从这些类之外的内部类中获取变量lemon
。
我得到的错误类无法解析为
答案 0 :(得分:0)
尝试将public Fruits citrus[];
更改为public Citrus citrus[];
答案 1 :(得分:0)
我为你找到了一条路。 当你使用数组时,你应该使用索引来访问数组的每个项目。
public class Fruits {
public Citrus citrus[];
public void test() {
String temp=citrus[0].lemon;
}
}
class Citrus {
public String lemon;
public String orange;
}
现在你可以从阵列中获得柠檬和橘子。
答案 2 :(得分:0)
我认为你想要的就是从外面访问内部类。 如果您只想实例化内部类,则下面的代码段可能会有所帮助。
代码只是通过评论自我解释。
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));
}
}