如果在类中显式地定义了构造方法,Java编译器将不再提供默认的构造方法
举一反三
- 只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在
- 如果在子类的构造方法中,显式地写出了super关键字来调用父类的某个构造方法,那么编译器不再提供默认的super语句。
- 下列哪个叙述是正确的?A.当类中没有定义任何构造方法时,Java编译器将为这个类提供默认构造方法B.Java编译器提供的默认构造方法,也可以为成员变量重新赋值。C.Java编译器会为所有的类提供默认构造方法。D.如果在一个类中定义的构造方法都是有参数的,Java编译器将为这个类提供默认构造方法。 A: B: C: D: D
- 如果在类中没有显式地定义构造方法,会自动生成一个无参的构造方法。如果子类没有显式地调用父类的构造方法,默认调用父类无参的构造方法。
- 类的构造方法分默认构造方法和自定义构造方法,若用户没有定义构造方法,Java会自动提供一个默认的构造方法;若用户定义了,Java将不再提供默认的构造方法。