误解了Java中的对象实例化

Cri*_*tof 1 java arrays reference instantiation

我有以下用于基元数组实例化的代码片段

int[] a = new int[] {10, 20, 30}
Run Code Online (Sandbox Code Playgroud)

是否可以对任何Object Array实例进行相同的操作?就像是 ..

 public class MyObject {
     int a;
     char b;
 }
Run Code Online (Sandbox Code Playgroud)

然后:

 public class Main(){
     public static void main(String[] args){
         MyObject[] = new MyObject[] { {10, 'a'}, {20, 'b'}}
     }
 }
Run Code Online (Sandbox Code Playgroud)

syn*_*gma 6

不含蓄意.您必须使用构造函数来初始化每个对象.这是一个例子:

public class Example {

    static class MyObject {
        int a;
        char b;

        public MyObject(int a, char b) {
            this.a = a;
            this.b = b;
        }
    }

    public static void main(String[] args) {
        MyObject[] objs = new MyObject[] {new MyObject(10, 'a'), new MyObject (20, 'b')};
    }
}
Run Code Online (Sandbox Code Playgroud)