上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
谬误3 是非真相——默认构造方法都是public的
在Java 中有这样一个概念:“如果类中没有提供构造方法,Java 将自动添加一个空的public的构造方法”。但是需要开发人员注意的是,默认的构造方法未必都是public的,再有,默认的构造方法是一定有super ()方法的。
在现实中,默认构造方法的修饰符是与所在类的修饰符一致的,也就是说如果类是public的,默认构造方法的修饰符就是public的,如果类无修饰符,默认构造方法也将没有修饰符。
类有修饰符的代码如下:
public class Test { //默认的构造方法 public Test () { super(); } }
类无修饰符的代码如下:
class Test { //默认的构造方法 Test () { super(); } }
说明
在内部类中,类的修饰符可能是private或protected,那么相应的构造方法的修饰符就是private或protected。
注意
本文中所指的默认构造方法是指在Java编译器中自动生成的构造方法。