java中简述关键字this与super的区别。
时间: 2024-02-25 14:51:49 浏览: 72
在Java中,this和super是两个关键字,它们分别代表当前对象和父类对象,主要区别如下:
1. this:代表当前对象,可以用来访问当前对象的成员变量、成员方法和构造方法。this关键字通常用于区分成员变量和局部变量名相同的情况,避免混淆。
2. super:代表父类对象,可以用来访问父类的成员变量、成员方法和构造方法。super关键字通常用于在子类中调用父类的构造方法、访问父类的成员变量或在重写父类方法时调用父类的方法。
具体来说,this关键字可以用来解决成员变量和局部变量同名的问题,如:
```
public class Person {
String name;
public Person(String name) {
this.name = name;
}
}
```
在构造方法中,this.name表示当前对象的成员变量name,而name表示传入的局部变量名。
而super关键字通常用于在子类中调用父类的构造方法,如:
```
public class Student extends Person {
int grade;
public Student(String name, int grade) {
super(name);
this.grade = grade;
}
}
```
在子类的构造方法中,super(name)表示调用父类的构造方法,将name参数传给父类的构造方法。
总之,this关键字代表当前对象,super关键字代表父类对象,它们主要用于访问对象的成员变量、成员方法和构造方法,解决同名问题或调用父类方法。
阅读全文