java - 在对象数组中,可以在索引处创建对象的新实例吗?

标签 java syntax arrays

示例代码如下:

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/

相关文章:

java - 删除文件名中的非数字字符(java 中扩展名除外)

ant - 通过ant编译jdk

java - 在 SAX 解析器中处理具有依赖性的私有(private)外部 DTD

jquery - 传递数组时的数据代码

java - 尝试从 intelliJ 运行/调试 spring boot 示例时出现异常

c - XCode 中的奇怪行为

c++ - 覆盖虚函数时的奇怪语法

python - Pygame 游戏循环语法错误

javascript - 如何在 react 中一项一项地渲染列表中的项目?

c++ - 通过引用问题?