关键字super相关知识概述 - 极悦
首页 课程 师资 教程 报名

关键字super相关知识概述

  • 2020-10-16 17:34:24
  • 880次 极悦

基础知识一直都是学习的重点所在,对于java编程技术来说也是如此,虽然会编代码写程序是学习的目的,但是基础的理论知识也是尤为重要的。关键字是代码编写中不可缺少的存在,今天这篇文章来介绍关键字super的相关知识,适合java零基础的朋友们学习。

image.png

先来学习关键字super的概念,严格来说,super其实并不是一个引用,它只是一个关键字,super代表了当前对象中从父类继承过来的那部分特征。this指向一个独立的对象,super并不是指向某个“独立”的对象。


举一个例子,假设张大明是父亲,张小明是儿子,有这样一句话:大家都说张小明的眼睛、鼻子和父亲的很像。那么也就是说儿子继承了父亲的眼睛和鼻子特征,那么眼睛和鼻子肯定最终还是长在儿子的身上。假设this指向张小明,那么super就代表张小明身上的眼睛和鼻子。换句话说super其实是this的一部分。如下图所示:

image.png

张大明和张小明其实是两个独立的对象,两个对象内存方面没有联系,super只是代表张小明对象身上的眼睛和鼻子,因为这个是从父类中继承过来的,在内存方面使用了super关键字进行了标记,对于下图来说“this.眼睛”和“super.眼睛”都是访问的同一块内存空间。


在理解了关键字super的概念后,要知道super该怎样使用。在java中,对于super关键字通常有两种用法:(1)用在子类的构造方法里(初始化用),主要是调用父类的默认构造方法,如果父类有不止一个构造方法,可以通过super指定具体的构造函数,比如 super(paras);(2)用在子类里调用隐藏或重写的属性或行为,比如 super.onDestroy()等等。对于第1种需要注意,super表示当前类的父类,super()调用的是父类默认的构造方法,即这样可以对父类进行初始化。如何没有对父类进行初始化,当子类调用父类的方法时,便会从逻辑上出现错误,因为没对父类初始化,父类的方法和属性便没有内存空间。


通过上面对关键字super两种用法的简单介绍后,可以总结出super的作用,一是调用父类的构造方法,使用这个构造方法来给当前子类对象初始化父类型特征,二是代码复用。


以上就是今天带各位零基础的新手朋友们学习的关键字super的相关知识,关键字super概念使用方法和作用都是属于java基础知识范畴里的内容,希望大家在这篇文章的基础上,在java零基础教程中多多学习更多的java基础知识。


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交