class A{
    private int i=5;
    {
      System.out.println("创建新对象");
    }
    public A(){}
    public A(int a){
        System.out.println("开始执行构造方法体中语句");
        i=a;
        System.out.println("构造方法体中语句执行完毕");     
    }
}
public class Test{
    public static void main(String[] args){
    new A();
    new A(3);
    }
}
为什么主函数中的两条语句要用Test实例来调用才能运行,否则编译出错,我感到迷惑的就是new A();这语句不是构造新对象吗,怎么要用(比如Test t=new Test(); t.new A();)这样的方式才可以通过?