面试必备!解密This与Super:职场新手必读!

开发 前端
在面向对象编程中,this 是一个关键字,代表了当前对象的引用。当我们调用一个对象的方法或访问其属性时,可以使用 this 关键字来指向当前正在操作的对象。这样一来,我们就能够在方法内部访问和修改当前对象的属性,或者调用其他方法。

哈喽大家好!小米今天要和大家聊一个有趣的话题,就是关于面试中经常被问到的一个问题:"this" 与 "super" 之间有什么区别?对于很多即将踏入职场的小伙伴们来说,这可是一个需要了解透彻的问题哦!废话不多说,我们马上进入正题吧!

this 是什么?

首先,我们来了解一下 this 是什么。在面向对象编程中,this 是一个关键字,代表了当前对象的引用。当我们调用一个对象的方法或访问其属性时,可以使用 this 关键字来指向当前正在操作的对象。这样一来,我们就能够在方法内部访问和修改当前对象的属性,或者调用其他方法。

比如说,我们有一个类叫做 "Person",其中有一个方法 "sayHello":

在这个例子中,this.name 就是指向了当前对象的 name 属性。如果我们创建了一个名为 "小米" 的 Person 对象,调用其 sayHello 方法,就会输出 "你好, 我叫 小米"。

super 又是什么?

接下来,让我们来了解一下 super 关键字。super 也是一个关键字,它表示父类(或者说超类)的引用。在继承关系中,子类可以使用 super 关键字来访问父类的成员,包括属性和方法。这在扩展父类的功能或者重写父类方法时非常有用。

举个例子,我们有一个父类 "Animal" 和一个子类 "Dog":

在这个例子中,Dog 类重写了父类 Animal 的 makeSound 方法,并使用 super.makeSound() 调用了父类的方法。这样一来,输出就会是:

this 和 super 的区别

那么,this 和 super 到底有什么区别呢?下面我们来总结一下:

  • 作用对象不同:this 作用于当前对象,用于访问自身的属性和方法;而 super 作用于父类,用于访问父类的属性和方法。
  • 使用场景不同:this 常用于方法内部,用于区分局部变量和实例变量,或者在构造方法中调用其他构造方法;super 常用于子类重写父类方法时,以及在子类构造方法中调用父类构造方法。
  • 关联对象不同:this 关联的是当前对象,它指向调用方法的那个对象;而 super 关联的是父类对象,它用于在子类中访问父类的成员。
  • 调用方法不同:this 调用的是当前类的方法;super 调用的是父类的方法。

END

通过今天的分享,我们详细地了解了 this 和 super 这两个关键字在面向对象编程中的作用和区别。希望大家能够在面试中更加自信地回答关于这两个关键字的问题啦!

记得,面试除了技术知识,沟通能力和表达清晰也是非常重要的哦!如果你对这个话题还有什么疑问,欢迎在评论区留言,我都会一一解答的~ 同时,也欢迎大家分享自己的面试经验,一起交流,共同进步!

责任编辑:武晓燕 来源: 知其然亦知其所以然
相关推荐

2020-06-23 16:12:12

UML

2015-07-17 16:49:13

OpenStack开源云平台云计算

2014-07-30 11:21:46

2011-01-18 10:57:26

职场

2010-08-04 09:16:48

Flex学习

2010-06-07 18:51:15

UML入门

2010-06-07 16:54:52

UML

2023-11-01 09:44:21

MySQLJava

2010-07-20 10:39:35

Perl学习

2010-03-16 10:28:44

Ubuntu 8.04

2010-06-03 09:48:17

Hadoop安装

2010-03-16 10:13:13

2010-12-14 11:42:45

职场

2010-06-12 16:56:37

2024-04-10 09:02:44

PythonBytearray数据类型

2024-01-29 08:16:07

Python容器类型List

2024-03-07 08:30:01

2012-08-08 09:21:46

前端CSSHTML

2009-10-27 14:20:37

VB.NET动态标识符

2019-06-06 09:00:02

卷积神经网络CNNAI
点赞
收藏

51CTO技术栈公众号