this: 是自身的一个对象,代表对象本身,形参和成员变量名字重名时,可以用this来区分
super: 可以理解为是指向父类对象的一个指针,而这个父类指的是离自己最近的一个父类
区别
1.属性的区别: this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。
2.方法的区别: this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。
3.构造的区别:
- this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。
- this和super不能出现在同一个构造器中, 否则编译不通过
- this()、super()都指的对象,不可以在static环境中使用
- 本质this指向本对象的指针。super是一个关键字