this关键字三大作用
- 调用属性
- 调用方法
- 表示当前对象
自身的一个对象,可以理解为指向对象本身的一个指针
this关键字用法
- 普通的直接引用(即当前对象本身)
- 形参与成员名字重名,用this来区分
- 引用构造函数
super关键字
指向自己父类对象的一个指针,指的是离的最近的一个父类
super关键字的用法
- 与this类似,super指向当前对象的父类(可以用super.xxx来引用父类的成员)
- 子类中的成员变量或方法与父类的成员变量或方法重名,使用super关键字调用父类的变量或方法(不使用则默认调用子类的)
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Shanghai";
super.value(); //调用父类的方法
System.out.println(name);
System.out.println(super.name);
}
public static void main(String[] args) {
City c=new City();
c.value();
}
}
- 引用构造函数
- super(参数); 调用父类中的某一个构造函数(应为构造函数的第一条语句)
- this(参数);调用本类中另一种形式的构造函数(应为构造函数的第一条语句)