Java中的this()和super()构造器
1.this()和super()构造器只能用在构造方法中,不能在成员方法中使用
因为不论是this关键字还是super都只指代当前对象,只不过后者可以调用父类的成员变量和成员方法(可以通过断点调试去查看)
2.this()或super()构造器只能出现在构造方法的第一行,且只能出现一次
在未检测到第一行有super(参数)/this()/this(参数)的情况下,系统会自动调用super()
而如果给父类定义了带参数的构造方法却没有定义不带参数的构造方法时,子类里会报错,因为默认调用是super(),此刻已经不存在了。
3.不能在无参的构造方法的第一行用this(),会造成递归调用。
使用this()构造器时在JVM中发生了什么:https://blog.csdn.net/ted_cs/article/details/82526056
浙公网安备 33010602011771号