示例代码如下:
class TestAO
{
int[] x;
public TestAO ()
{
this.x = new int[5] ;
for (int i = 0; i<x.length; i++)
x[i] = i;
}
public static void main (String[]arg)
{
TestAO a = new TestAO ();
System.out.println (a) ;
TestAO c = new TestAO () ;
c.x[3] = 35 ;
TestAO[] Z = new TestAO[3] ;
Z[0] = a ;
Z[1] = (TestAO b = new TestAO()) ;
Z[2] = c ;
}
}
当我尝试编译此文件时,我在 Z[1]
行收到一条错误消息,内容如下:
TestAO.java:22: ')' expected
Z[1] = (TestAO b = new TestAO()) ;
^
我在这里想做的是创建一个对象 TestAO 的实例,我希望该实例位于该索引处的值的分配中,而不是像我一样在数组外部创建对象的实例用 a
做的。
这是否合法,我只是犯了一些我看不到的语法错误(从而导致错误消息),或者我想做的事情不能完成?
编辑:
关于马克的回答,这是我的后续问题:
有没有比这更短的方法来为对象数组中的对象的实例变量赋值:(无需编写任何特殊的构造函数)
Z[1] = new TestAO() ;
Z[1].x[4] = 80085 ;
最佳答案
这比您想象的要容易:
Z[1] = new TestAO();
关于java - 在对象数组中,可以在索引处创建对象的新实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2502660/