this与super的区别
时间: 2023-06-10 22:07:21 浏览: 89
`this` 和 `super` 都是关键字,用于在 Java 中引用对象的成员或调用方法,但有一些区别:
1. `this` 关键字表示当前对象,可以用来引用当前对象的成员变量和方法,或者在构造函数中调用另一个构造函数。
2. `super` 关键字表示当前对象的父类对象,可以用来引用父类的成员变量和方法,或者在子类构造函数中调用父类构造函数。
另外,`this` 和 `super` 的使用也有一些限制:
1. `this` 关键字只能在非静态方法中使用,因为它代表当前对象。
2. `super` 关键字只能在子类中使用,因为它代表当前对象的父类对象。
总之,`this` 和 `super` 关键字都是用来引用对象的成员和方法,但具体使用要根据场景和需求而定。
相关问题
java中this与super的区别
Java中this和super都是关键字,用于访问当前对象和父类对象,但它们的作用不同。
this关键字用于访问当前对象,可以用来引用当前对象的属性和方法。在一个类中,如果有一个成员变量和一个局部变量同名,可以使用this关键字来区分它们。
super关键字用于访问父类对象,可以用来调用父类的构造方法和成员方法。在子类中,如果要调用父类的构造方法,可以使用super关键字来实现。
因此,this和super的作用不同,但都是用于访问对象。需要根据具体情况来选择使用哪个关键字。
简述关键字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表示父类对象。
阅读全文