如何访问内部 class 的局部变量
How to access local variables of inner class
我有一个 class,内部 class 类型为数组。我想访问外部 class 之外的内部 class 中的局部变量。
public class Fruits {
public Citrus citrus[];
}
public class Citrus{
public String lemon;
public String orange;
}
现在我想从这些 class 之外的内部 class 获取变量 lemon
。
我收到错误 class cannot be resolved to type
尝试将 public Fruits citrus[];
更改为 public Citrus citrus[];
我帮你想办法。
当你使用数组时,你应该使用索引来访问数组的每一项。
public class Fruits {
public Citrus citrus[];
public void test() {
String temp=citrus[0].lemon;
}
}
class Citrus {
public String lemon;
public String orange;
}
现在你可以从数组中获取柠檬和橙子。
我认为您只想从外部访问内部 class。
如果您只想实例化内部 class.
,下面的代码片段可能会有所帮助
代码不言自明,只需通过评论即可。
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));
}
}
我有一个 class,内部 class 类型为数组。我想访问外部 class 之外的内部 class 中的局部变量。
public class Fruits {
public Citrus citrus[];
}
public class Citrus{
public String lemon;
public String orange;
}
现在我想从这些 class 之外的内部 class 获取变量 lemon
。
我收到错误 class cannot be resolved to type
尝试将 public Fruits citrus[];
更改为 public Citrus citrus[];
我帮你想办法。 当你使用数组时,你应该使用索引来访问数组的每一项。
public class Fruits {
public Citrus citrus[];
public void test() {
String temp=citrus[0].lemon;
}
}
class Citrus {
public String lemon;
public String orange;
}
现在你可以从数组中获取柠檬和橙子。
我认为您只想从外部访问内部 class。 如果您只想实例化内部 class.
,下面的代码片段可能会有所帮助代码不言自明,只需通过评论即可。
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));
}
}