this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。
二者的区别
1.属性的区别:
this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。
2.方法的区别:
this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。
3.构造的区别:
this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。
4.其他区别:
this表示当前对象。super不能表示当前对象
A、this. 变量和super.变量
this.变量 调用的当前对象的变量;
super.变量 直接调用的是父类中的变量。
B、this(参数)和super(参数)方法
this(参数) 调用(转发)的是当前类中的构造器;
super(参数) 用于确认要使用父类中的哪一个构造器。