supper和this关键字的区别

定义

this:

this是一个变量 ,一个引用。this保存的就是当前对象的地址,指向对象本身,即this代表的就是“当前对象”。

supper:

super关键字和this的作用类似,将被隐藏的父类的成员变量和成员方法变为可见,或者说用来引用被隐藏的父类的成员变量和成员方法。

区别

区别 supper this
前提不同 需要存在继承关系才能使用 不需要存在继承也可以使用
调用成员变量和方法 引用当前对象的直接父类中的成员,用来访问直接父类中被隐藏的成员变量或方法。父类与子类中有相同的成员时使用,如:super.变量名或super.成员方法名(实参)。 代表当前对象名,在程序中易产生二义性之处,应使用this来指明当前对象。如果方法的形参与类中的成员变量同名,这时需用this来指明成员变量名。
调用构造方法 调用父类中的某一个构造方法,应该为构造方法中的第一条语句 调用本类中另一种形式的构造方法,应该为构造方法中的第一条语句
其他 调用super()必须写在子类构造方法的第一行,否则编译不通过 每个子类构造方法的第一条语句,都是隐含的调用super(),如果父类中没有这种构造方法,那么在编译的时候会报错

注意

1.this和super都指的是对象,所以均不可以在static方法中使用;

2.this()和super()一样都是对本类构造方法的调用,都是放在第一行,因此两者不能共存;

supper和this关键字的区别相关推荐

  1. C++中struct和class关键字的区别

    文章目录 1 C++中struct和class关键字的区别 1.1 类的关键字 1 C++中struct和class关键字的区别 1.1 类的关键字 C++中类的关键字: struct在C语言中已经有 ...

  2. volatile关键字与synchronization关键字的区别?

    在我们平时写代码需要同步的时候我们都会想到要使用同步锁(synchronization),但是我们都知道这个是效率比较低的.我了解了一个新的一个关键字,那就是volatile,这个的关键字它是Java ...

  3. Java复习题1(1.写出抽象类和接口的区别。2.This和Super关键字的区别有哪些?3.常见的类集子类有哪些,各有什么特点?4.什么是多态,多态实现的前提是什么?)

    1.写出抽象类和接口的区别. 答: 抽象类中的方法不全是抽象方法,可以在抽象类中声明并实现其他方法. 接口不允许方法的实现,定义的方法无方法体. 抽象类中的成员变量可以使用不同修饰符修饰,如publi ...

  4. 转:C#中Monitor对象与Lock关键字的区别分析

    Monitor对象1.Monitor.Enter(object)方法是获取 锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取 ...

  5. iOS开发中各种关键字的区别

    1.一些概念 1.浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存. 深Copy:内存的复制,两块内存是完全不同的, 也就是两个对象指针分别指向不同的内存,互不干涉. 2.atom ...

  6. final关键字_Dart核心语言基础const关键字与final关键字的区别

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼搏过,尽力过,一切问心无愧 本文描述 Dart 中 const 关键字与 final 关键字的基本使用知识点以及对比区别. Dart核心基 ...

  7. SQL Server 和 MySql 语法和关键字的区别

    (1)    MySQL的ifnull()函数对应sql的isnull()函数; (2)    mysql的存储过程中变量的定义去掉@; (3)    mysql的每句结束要用";" ...

  8. java中int和integer的区别_Java异常中throw和throws关键字的区别

    Java中常常弄混的两个关键字,throw和throws,它们有什么区别呢?如何记忆他们,而不至于出错呢? throw和throws 区别 throws:出现在方法的签名中,声明当前方法可能抛出的所有 ...

  9. Dart核心语言基础const关键字与final关键字的区别

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧 本文描述 Dart 中 const 关键字与 final 关键字的基本使用知识点以及对比区别 ** 你可能需要 ...

最新文章

  1. 如何检查Bash中是否设置了变量?
  2. %00截断攻击的探索
  3. 蚂蚁金服面试经历!临场发挥!
  4. 通俗的说下浏览器的渲染过程
  5. Redis入门(二)安装和基本操作
  6. 13个代码注释的小贴士
  7. 什么是 MultiRaft ?
  8. python根据2点经纬度计算距离
  9. ndk linux 最新版本,NDK各版本下载
  10. c语言输出字符串长度 空格,C++指针变量:输入一个字符串,删除字符串中所有空格,输出删除空格后字符串的长度,需编写以下功能函数...
  11. 析构函数为虚函数的必要性
  12. 飞机大战小游戏1.0
  13. python特性 property_Python中property属性实例解析
  14. 线性同余法产生均匀随机数C语言,利用线性同余法产生随机数进行同步计算
  15. 凯恩帝k1000ti参数设置_凯恩帝KND数控K1000TI系统维修
  16. mongoDB 4.0 开启远程访问
  17. [HTML/CSS]Flex布局中space-evenly的兼容性
  18. 李沐动手学深度学习V2-注意力评分函数
  19. 发布会签到系统_系统开发_创建项目及应用
  20. HTTP 各种状态码代表的含义

热门文章

  1. angularjs2使用magnifier图片展示插件
  2. python抢票脚本好用吗_春运到了,带你用python来抢票回家!
  3. 【科普】Xilinx 3D IC技术简介
  4. 宝泉岭计算机学校,2020年黑龙江计算机二级考点有哪些
  5. pac for linux,Ubuntu下安装PAC Manager 4.5.3.9
  6. 图案设计灵感怎么写_服装设计灵感怎么写
  7. Cortex-M CPU架构基础
  8. unity2022打开项目时报Fatal error显示无权访问d3dcompiler_47.dll, 解决方法很简单-还有ucrtbase.dll问题
  9. python 京东 抢券_Python写一个京东抢券脚本
  10. 清理电脑垃圾(windows)