为什么类的构造函数从未调用过?

0 java constructor initialization

我对以下代码感到困惑,

package test;

public class Test {        
    FooC fooC = new FooC();

    public static void main(String[] args) {
        System.out.println("started");
        Test t = new Test();
    }        

    public class FooA {
        public int[] mData;
        public FooA() {
            System.out.println("aa");
            mData = new int[32];
        }
    }

    public class FooB {
        public FooA[] mFooA;
        public FooB() {
            System.out.println("bb");
            mFooA = new FooA[12];
        }
    }

    public class FooC {
        public FooB mFooB;
        public FooC() {
            System.out.println("cc");
            mFooB = new FooB();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行时,输出是:

started
cc
bb
Run Code Online (Sandbox Code Playgroud)

为什么FooA构造函数从未调用过?我对java有点新,任何帮助都意味着很多,谢谢!

The*_*ind 7

mFooA = new FooA[12]; - >您正在创建一个可以容纳12个FooA实例的数组.您还没有像这样创建一个FooA实例:new FooA()