请考虑以下嵌套类。在不同的类中创建内部类对象数组
class Outerclass {
class innerclass {
}
}
class util {
//how to declare an array of innerclass objects here?
}
请考虑以下嵌套类。在不同的类中创建内部类对象数组
class Outerclass {
class innerclass {
}
}
class util {
//how to declare an array of innerclass objects here?
}
您可以声明这样一个innerclass
对象的数组。
class util {
Outerclass.innerclass[] inner = new Outerclass.innerclass[10];
}
并以实例化他们,你可以做这样的事情的util
类中。
void test() {
Outerclass outer = new Outerclass();
inner[0] = outer.new innerclass();
}
当你说MyClass的[] A =新MyClass的[5]。我们不是再次进行对话?所以,当我们说新的Outerclass.innerclass [10];是不是足够分配阵列的内存?为什么我们必须做Outerclass outer = new Outerclass(); inner [0] = outer.new innerclass(); 呢? – Namratha
你已经创建了一个'innerclass'数组。你不需要初始化数组中的每个元素吗?如果它是像'int'这样的基本数据类型,则默认情况下所有元素都将用'0'填充。但在这种情况下,它会是'空'。所有的数组元素都需要初始化。您刚刚声明并初始化了一个数组,但尚未初始化数组中的元素。 – SudoRahul
不会新建Outerclass.innerclass [10];调用外部和内部类的构造函数?如果调用内部类的构造函数,那么我们不需要自己初始化它。 – Namratha
OuterClass outerObject = new OuterClass();
OuterClass.InnerClass innerArray[] = new OuterClass.InnerClass[3];
// Creating Objects of Inner Class
OuterClass.InnerClass innerObject1 = outerObject.new InnerClass();
OuterClass.InnerClass innerObject2 = outerObject.new InnerClass();
OuterClass.InnerClass innerObject3 = outerObject.new InnerClass();
// Adding the Objects to the Array
innerArray[0] = innerObject1;
innerArray[0] = innerObject2;
innerArray[0] = innerObject3;
见http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class – link64