super()和this()为什么不能同时出现在一个构造中
java语言规定,在执行该类构造前必须先执行父类的构造,直到Object类的构造。因此任何构造的第一句,必须执行父类的构造,如果没有添加super(),那么编译器会为该构造默认添加一个super()。如果使用super显示的调用父类构造,就用指定的那个父类构造,否则使用默认的无参构造。但该类构造中出现了this()时,会在该构造中调用本类的其他构造,但最终还是会在调用链的底端调用到父类的构造。所以如果super()和this()同时存在,那么就会出现两次初始化父类。第一次是super()调用父类构造,第
原创
2021-05-10 16:46:41 ·
3948 阅读 ·
4 评论