2022
我们一起努力

Super与this:Java中区别大不同

摘要:本文将介绍Java中的两个关键字——Super与this,重点探讨它们之间的区别,引出读者的兴趣,为后续内容提供背景信息。

图片:

一、Super关键字

Super关键字在Java中表示父类或超类,它可以访问父类的方法和属性。当存在继承关系时,Sub类可以使用Super关键字来调用父类的构造方法,以初始化父类数据成员。在实际应用中,Super关键字通常用于在子类中调用父类构造方法,或者访问父类的成员变量和成员方法。比如:

```java
class Parent {
int x = 10;
void print() {
System.out.println("Hello from Parent");
}
}

class Child extends Parent {
int x = 20;
void display() {
System.out.println("Value of x in Child : " + x);
System.out.println("Value of x in Parent : " + super.x);
}
void print() {
super.print();
System.out.println("Hello from Child");
}
}

public class Demo {
public static void main(String[] args) {
Child obj = new Child();
obj.display();
obj.print();
}
}
```

在这个例子中,我们定义了两个类Parent和Child,Child类继承了Parent类。在Child类中的display方法和print方法中,我们使用了Super关键字,来分别调用父类的成员变量和成员方法。

二、this关键字

this关键字在Java中表示当前对象,主要用于区分局部变量和成员变量。当一个对象被创建之后,this关键字可以用来访问这个对象的成员变量和成员方法。在方法中使用this关键字,可以避免出现局部变量和成员变量同名的情况,从而提高代码的可读性和可维护性。比如:

```java
class Person {
String name;
int age;

Person(String name, int age) {
this.name = name;
this.age = age;
}

void display() {
System.out.println("Name : " + this.name);
System.out.println("Age : " + this.age);
}
}

public class Demo {
public static void main(String[] args) {
Person obj = new Person("John", 30);
obj.display();
}
}
```

在这个例子中,我们定义了一个类Person,在类中有两个成员变量name和age,以及一个构造方法Person和display方法。在构造方法中使用了this关键字,来初始化类成员变量。在display方法中使用了this关键字,来访问类成员变量。

三、Super与this的区别

Super与this在Java中的作用不同,关键字的使用也不同:

- Super关键字表示父类或超类,可以访问父类的方法和属性;this关键字表示当前对象,主要用于区分局部变量和成员变量,避免出现同名的情况。
- Super关键字通常用于在子类中调用父类构造方法,以初始化父类数据成员;this关键字通常用于访问对象的成员变量和成员方法。

四、结论

赞(0)
文章名称:《Super与this:Java中区别大不同》
文章链接:https://www.fzvps.com/201986.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!