java内部类数组怎么初始化
java 中内部类数组的初始化方式取决于其类型:匿名内部类数组长度固定。本地内部类("static")和成员内部类数组的长度在初始化后可动态调整,但需使用 arrays.copyof() 等方法。
Java 内部类数组初始化
Java 内部类数组的初始化方式取决于内部类的类型:
1. 匿名内部类数组
// 匿名内部类数组长度固定 MyClass[] arr = new MyClass[] { new MyClass() { /* 匿名内部类实现 1 */ }, new MyClass() { /* 匿名内部类实现 2 */ }, // ... };
2. 本地内部类数组("static" 内部类)
// 本地内部类数组长度固定 MyClass.InnerClass[] arr = new MyClass.InnerClass[] { new MyClass.InnerClass(), new MyClass.InnerClass(), // ... };
3. 成员内部类数组
public class OuterClass { public class InnerClass { private String value; public InnerClass(String value) { this.value = value; } } public void createInnerClassArray(String[] values) { // 创建指定长度的成员内部类数组 InnerClass[] arr = new InnerClass[values.length]; // 逐个初始化数组元素 for (int i = 0; i < arr.length; i++) { arr[i] = new InnerClass(values[i]); } } }
使用示例:
OuterClass outer = new OuterClass(); String[] values = { "A", "B", "C" }; outer.createInnerClassArray(values);
注意事项:
- 内部类数组的长度必须在初始化时指定。
- 匿名内部类数组只能在初始化时创建,无法动态调整长度。
- 本地内部类和成员内部类数组的长度可以在初始化后动态调整,但需要使用 Arrays.copyOf() 或其他方法。
以上就是java内部类数组怎么初始化的详细内容,更多请关注硕下网其它相关文章!