简述关键字this与super的区别。
时间: 2024-03-25 08:37:35 浏览: 67
this和super的异同点
关键字this和super都是Java语言中用于访问对象的成员变量和成员方法的关键字,但是它们的作用不同。
关键字this表示当前对象的引用,可以用来访问当前对象的成员变量和成员方法。在类的方法中,如果形参和成员变量同名,使用关键字this可以区分它们,访问成员变量时也可以使用this来明确地指明访问的是成员变量而不是局部变量。例如:
```
public class Person {
private String name;
public void setName(String name) {
this.name = name; // 使用this来访问成员变量name
}
}
```
关键字super表示父类对象的引用,可以用来访问父类中的成员变量和成员方法。在子类中,如果子类和父类有同名的成员变量或成员方法,使用super可以访问父类中的成员。例如:
```
public class Animal {
protected int age;
}
public class Cat extends Animal {
public void setAge(int age) {
super.age = age; // 使用super来访问父类中的成员变量age
}
}
```
因此,关键字this和super的作用是不同的,this表示当前对象,super表示父类对象。
阅读全文