this和super的区别

文/叶丹

this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。

this和super的区别

二者的区别

1.属性的区别:

this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。

2.方法的区别:

this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。

3.构造的区别:

this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。

4.其他区别:

this表示当前对象。super不能表示当前对象

A、this. 变量和super.变量

this.变量 调用的当前对象的变量;

super.变量 直接调用的是父类中的变量。

B、this(参数)和super(参数)方法

this(参数) 调用(转发)的是当前类中的构造器;

super(参数) 用于确认要使用父类中的哪一个构造器。