区别点 | this | super |
---|---|---|
属性 | 先直接找本类中的属性,如没有则在父类中查找 | 直接访问父类中的属性 |
方法 | 先在本类中查找方法,如没有则到父类中找 | 直接访问父类中的方法 |
构造器 | 调用本类中重写的构造器,且必须放在构造器的首行 | 调用父类构造器,必须放在子类构造器的首行 |
- 子类中所有的构造器,都会默认访问父类中的空参数的构造器
- 当父类中没有空参数的构造器时,子类的构造器必须通过this(加参数)或者super(加参数)语句指定调用本类或者父类中相应的构造器。且同时,只能"二选一",且必须放在构造器的首行
- 如果子类构造器中没有显示的调用父类或者本类的构造器,且父类中没有无参的构造器,则编译出错