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();)这样的方式才可以通过?
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();)这样的方式才可以通过?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货