Java开发之道
上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编译器中自动生成的构造方法。