this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this.变量 调用的当前对象的变量,
this(参数) 调用(转发)的是当前类中的构造器,
this访问本类中的属性,如果本类没有此属性则从父类中继续查找,
this访问本类中的方法,如果本类没有此方法则从父类中继续查找,
this调用本类构造,必须放在构造方法的首行,
this表示当前对象。
用法有3种:1直接引用,2形参与成员名字重名,用this来区分,3引用构造函数
super是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。
super.变量 直接调用的是父类中的变量
super(参数) 用于确认要使用父类中的哪一个构造器
super访问父类中的属性
super访问父类中的方法
super调用父类构造,必须放在子类构造方法首行
super不能表示当前对象
super也有三种用法:1直接引用,2子类中的成员变量或方法与父类中的成员变量或方法同名,3引用构造函数
this() 和super()都只能写在构造函数的第一行
this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
this和super不能用于static修饰的变量,方法,代码块;因为this和super都是指的是对象(实例)。
从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。