先看下面的代码:
class Demo{
int a;
}
public class TestSort{
public static void main(String args[]){
Demo d=new Demo();
}
}
编译此程序,不会产生任何错误提示,在看下面的代码:
class Demo{
int a;
Demo(int a){
this.a=a;
}
}
public class TestSort{
public static void main(String args[]){
Demo d=new Demo();
}
}
编译此程序,会产生“找不到符号”的错误提示。java中规定当我们自己定义一个类时,如果没有自定义构造方法,默认的构造方法可以不写,定义对象时系统自动调用默认构造函数;一旦类中有自定义的构造方法的时候,当用默认构造函数定义对象时,系统不会自动调用默认构造方法,他会认为你既然自己定义了构造方法了我就只调用你定义的方法,所以必须显示的将默认构造函数的代码段写到类中,否则的话将产生编译错误。