this 和 super 关键字有什么作勇,请写程序说明?
时间: 2024-02-22 09:57:26 浏览: 25
this 和 super 都是 Java 中的关键字,分别表示当前对象和父类对象。
this 关键字的主要作用是引用当前对象,可以用于以下几种情况:
1. 引用当前对象的成员变量或成员方法。
2. 在一个构造方法中调用另一个构造方法。
3. 在一个方法中返回当前对象。
super 关键字的主要作用是引用父类对象,可以用于以下几种情况:
1. 引用父类的构造方法。
2. 引用父类的成员变量或成员方法。
下面是一个使用 this 和 super 关键字的示例程序:
```java
class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
String breed;
public Dog(String name, String breed) {
super(name);
this.breed = breed;
}
public void bark() {
System.out.println(name + " is barking, breed is " + breed);
}
}
public class Test {
public static void main(String[] args) {
Dog dog = new Dog("Tommy", "Labrador");
dog.eat();
dog.bark();
}
}
```
在上述程序中,Animal 类中有一个成员变量 name 和一个成员方法 eat,Dog 类继承了 Animal 类,并添加了一个成员变量 breed 和一个成员方法 bark。在 Dog 类的构造方法中,使用 super 关键字调用了 Animal 类的构造方法来初始化 name 成员变量。在 main 方法中,创建了一个 Dog 对象,并使用 this 和 super 关键字来引用对象成员和父类成员。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)