如何证明 编译器自动生成了个构造器?

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:32:31

因为new 的时候会调用构造方法,如果它没有生成构造器,怎么能new 出来对象呢!!
想想看,是不是这样!!

给你举个例子你就明白了,看如下两个简单的Java程序:
第一个Test1类:

public class Test1{
//没有构造器Test1哦
public void p()
{
System.out.println("p");
}

public static void main(String[] args)
{
new Test1().p(); //new时自动调用编译器生成的Test1的构造器Test1()
}

}

第二个Test2类:

public class Test2{
//有构造器Test2哦
public Test2()
{

}

public void p()
{
System.out.println("p");
}

public static void main(String[] args)
{
new Test2().p(); //new时调用自己定义的Test2的构造器Test2()
}

}

其运行结果都一样,只是第一个Test1类没有构造器而第二个Test2有构造器.
第一个虽然没有构造器,但编译器会自动生成个构造器的.明白了吗?
希望能帮上你,有不明白的地方欢迎提问!