1.this:
(1):this是一个变量,是一个引用,保存当前对象的内存地址指向自身,所以,严格意义上来说,this代表的就是当前对象。
(2):this存储在堆内存之中对象的内部。
(3):只能使用在实例方法中,谁调用这个方法,this就是谁。
(4):this. 大部分情况下可省略
(5):静态方法的调用不需要对象,因此不能用this。
(6):this():可以通过构造方法调用构造方法,但前提是在同一类中,其作用就是为了提高代码的复用性。
注:在实例方法或者构造方法中,为了区分局部变量和实例变量,this. 不能省略;
2.super:
(1):super不是引用,也不保存地址,也不指向任何对象,只是代表当前对象内部的那一块父类型的特征
(2):出现在实例方法和构造方法中,不能出现在静态方法中。
(3):super()只能出现在构造方法的第一行,通过当前的构造方法去调用父类的构造方法,目的是创建子类对象的时候,先初始化父类型特征。
(4):super.可省略,但是
子类中有,父类中有(同名属性),在子类中访问父类同名属性不能省略。
(5):super():通过子类的构造方法调用父类的构造方法
注:this()与super()不能共存