java的类中,如果没有给出构造方法,通过反编译可以看出系统将默认提供一个无参构造方法,方法体中内容为空:
class Demo{
Demo(){} 这是系统提供的默认的构造方法
}
public class Gouzao {
public static void main(String[] args) {
Demo d=new Demo();
}
}
如果我们给出了构造方法(无论是有参还是无参),系统将不再提供默认的无参构造方法:
class Demo{
public Demo() {
System.out.println("这是自己提供的无参构造方法");
}//系统默认的构造方法 Demo(){}将不再存在
}
public class Gouzao {
public static void main(String[] args) {
Demo d=new Demo();
}
}
当创建对象时,会自动调用构造方法输出相应语句。
所以当你自己给出有参构造方法后还想使用无参构造方法就必须自己给出。习惯自己给出无参构造方法。