java中的抽象类里面的非抽象方法有this关键字,指的是?
时间: 2024-03-10 15:51:20 浏览: 104
java中的this关键字完全解读
5星 · 资源好评率100%
在 Java 抽象类中的非抽象方法中使用 this 关键字,表示当前对象的引用。抽象类中的非抽象方法可以包含具体的实现,因此可以使用 this 关键字来访问当前对象的属性或调用当前对象的方法。
例如,假设有一个抽象类 Animal,它有一个非抽象方法 eat(),实现如下:
```java
public abstract class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating...");
}
}
```
在这个例子中,eat() 方法使用了 this.name 来访问当前对象的 name 属性。这里的 this 关键字表示当前对象的引用。
当具体的子类实现了抽象类中的抽象方法时,也可以在非抽象方法中使用 this 关键字来访问当前对象的属性或调用当前对象的方法。例如,假设有一个具体的子类 Cat,它继承了 Animal 类并实现了 eat() 方法,实现如下:
```java
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void eat() {
super.eat();
this.play();
}
public void play() {
System.out.println(getName() + " is playing...");
}
}
```
在这个例子中,Cat 类继承了 Animal 类并覆盖了 eat() 方法,使用了 super.eat() 来调用父类的 eat() 方法,使用了 this.play() 来调用当前对象的 play() 方法。这里的 this 关键字也表示当前对象的引用。
阅读全文