为什么super(...)和this(...)只能在构造函数中的第一句出现?

来源:互联网 发布:包装设计书籍推荐知乎 编辑:程序博客网 时间:2024/05/20 05:25
因为在构造的时候只需要调用父类的super()作为初始化父类一次,如果super(...)和this(...)同时出现的话,那么就会出现初始化父类两次的不安全操作,因为当super(...)和this(...)同时出现的时候,在调用完了super(..)之后还会执行this(..),而this(...)中又会自动调用super(),这就造成了调用两次super()的结果(这是假设super(...)和this(...)同时出现时候,super(...)在this(...)前面,反过来出现也一样)