java中this关键字和super
时间: 2023-04-28 12:03:28 浏览: 94
关键字this和super都是Java中的关键字。
this关键字用于引用当前对象,可以用来区分局部变量和成员变量,也可以用来调用当前对象的方法。
super关键字用于引用父类对象,可以用来调用父类的构造方法和方法。在子类中,如果父类和子类有同名的方法或属性,可以使用super关键字来访问父类的方法或属性。
相关问题
java中简述关键字this与super的区别。
在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关键字代表父类对象,它们主要用于访问对象的成员变量、成员方法和构造方法,解决同名问题或调用父类方法。
this关键字、super关键字的区别和作用
this关键字和super关键字都是Java中的关键字,它们的作用不同。
this关键字代表当前对象,可以用来引用当前对象的属性和方法。在一个类中,如果有一个属性和一个方法的参数同名,可以使用this关键字来区分它们。
super关键字代表父类对象,可以用来引用父类的属性和方法。在子类中,如果子类和父类有同名的属性或方法,可以使用super关键字来调用父类的属性或方法。
总的来说,this关键字和super关键字都是用来引用对象的,但是this关键字是引用当前对象,而super关键字是引用父类对象。