所谓默认构造器是指没有参数的构造器。例如,在Employee类的默认构造器:
- public Employee()
- {
- name = "";
- salary = 0;
- hireDay = new Date();
- }
如果在编写一个类时没有编写构造器,那么系统就会提供一个默认构造器。这个默认构造器将所有的实例域设置为默认值。于是,实例域中的数值型数据设置为0、布尔型数据设置为false、所有对象变量将设置为null。
如果类中提供了至少一个构造器,但是没有提供默认的构造器,则在构造对象时如果没有提供构造参数就会被视为不合法。例如,在例4-2中的Employee类提供了一个简单的构造器:
- Employee(String name, double salary, ing y, int m, int d)
对于这个类,构造默认的雇员属于不合法。也就是,调用
- e = new Employee();
将会产生错误。
警告:请记住,仅当类没有提供任何构造器的时候,系统才会提供一个默认的构造器。如果在编写类的时候,给出了一个构造器,哪怕是很简单的,要想让这个类的用户能够采用下列方式构造实例:
- new ClassName();
就必须提供一个默认的构造器(即不带任何参数的构造器)。当然,如果希望所有的域被赋予默认值,可以采用下列各式:
- public ClassName()
- {
- }
转载于:https://blog.51cto.com/mrwucg/1060623