super关键字的三种用法

1.super可以用来引用直接父类成员变量。       super.父类成员变量;

2.super可以用来调用直接父类成员方法。       super.父类成员方法(参数列表);

3.super()可以用于调用直接父类构造函数。     super(参数列表); //只能写在子类的构造方法中

super可以理解为父类的,super可以用来调用属性、方法、构造器。我们可以在子类的方法或构造器中,通过使用“super.属性”或“super.方法”的方式,显示调用父类中声明的属性和方法,但通常情况下,我们习惯省略super。当然有的地方不能省略:1. 当父类与子类定义了同名属性时,我们想调用父类生命的属性时,则必须显示使用“super.属性”的方式,表明调用的是父类中声明的属性
2.当子类重写了父类的方法以后,我们想在子类的方法中调用父类被重写的方法时必须使用“super.方法”的方式表明调用的是父类中被重写的方法

super使用代码如图:

2、super和this对比:

this:

this能出现在实例方法和构造方法中。

this的语法: “this.” 、 “this ()”

this不能使用在静态方法中。

this.大部分情况下可以省略,在区分局部变量和实例变量的时候不可省略。

this () 只能出现在构造方法第一行,通过当前的构造方法去调用“本类”中其他的构造方法,目的是:代码复用。

super:

super能出现在实例方法和构造方法中。

super的语法: “super.” 、 “super ()”

super不能使用在静态方法中。

super.大部分情况下可以省略,在区分局部变量和实例变量的时候不可省略。

super () 只能出现在构造方法第一行,通过当前的构造方法去调用“父类”中的构造方法,目的是:代码复用。    目的是:创建子类对象的时候,先初始化父类型特征。

3、this()和super()不共存。

4、super () 表示通过子类的构造方法调用父类的构造方法。

5、重要结论:

当一个构造方法第一行:

既没有this()又没有super()的话,默认会有一个super();

表示通过当前子类构造方法调用父类的无参数构造方法。

所以必须保证父类的无参数构造方法是存在的。

6、父类的构造方法是一定执行。

super关键字的使用相关推荐

  1. This和Super关键字的对比

    this和Super关键字 this和Super关键字的对比 Super关键字的用法如下: 1. super关键字代表了父类空间的引用: 2. super关键字的作用: 3. super关键字调用父类 ...

  2. Java基础学习总结(8)——super关键字

    2019独角兽企业重金招聘Python工程师标准>>> 一.super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们 ...

  3. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  4. 被final修饰的变量在哪存储_final,static,this,super 关键字总结,一点课堂(多岸学院)...

    final 关键字 final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便 ...

  5. java构造方法 this_Java之构造方法及this、super关键字

    有关构造方法的理解: 需要对对象的数据进行初始化,则创建一个构造方法,此方法名字和类名一样,但是没有返回值(类型和具体的值都没,但是可以写return;).构造方法是用来创建对象的,所以是不能被对象调 ...

  6. Java基础super关键字、final关键字、static关键字、匿名对象整理

    super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...

  7. 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )

    文章目录 I . 子类调用父类总结 II . 子类调用父类方法 ( super ) III . 子类内部类调用父类方法 ( super@ ) IV . 子类选择调用不同的 父类 / 接口方法 ( su ...

  8. ES6的 super 关键字

    Class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多. 子类必须在constructor方法中调用super方法,否则新建实例时会报错. 这是因为子 ...

  9. java super()方法_Java super关键字的使用方法详解

    构造方法中的super关键字 在Java子类的构造方法中可以通过super关键字来调用父类的构造方法.其用法为: 1) super(); 访问父类中的无参构造函数 2) super (paras-); ...

  10. java继承关键字super_java学习笔记-继承中super关键字

    背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...

最新文章

  1. 构造函数没有返回值是怎么赋值的?
  2. 用chattr保护文件系统的安全
  3. 浅谈Hive和HBase区别
  4. 图片变成暗灰色的html,暗灰色的圆形按钮.html
  5. 24 OB22无法修改公司代码的附加本位币从EUR到CNY
  6. jdbc mysql 源码_【JDBC系列】从源码角度理解JDBC和Mysql的预编译特性
  7. 海报中应用广泛的书法(手写)字体素材
  8. ufs3.0和ufs2.1的区别体现在哪些方面?
  9. mysql 2008 教程_sql 2008 视频教程数据库从入门到精通自学视频教程_IT教程网
  10. Jmeter安装及简单使用
  11. 【学习笔记】简单的连通性状压DP——插头DP(不学以为是天书)
  12. 两台电脑的文件共享方式
  13. 【Matlab】前馈控制
  14. 对“全栈工程师”一词的理解
  15. Unity发布windows程序,Fullscreen Mode设置为Windowed,可运行总是全屏
  16. mysql中常用的筛查语句,使用SQL语句进行数据筛选的方法
  17. 【k8s系列十四】nginx-ingress原理
  18. 利用CIBERSORT免疫细胞类群分析详细教程
  19. 尚硅谷-离线数仓-笔记
  20. 通过各种统计方法建立理想的mlb投球前景

热门文章

  1. 关于男友打dota的问题~一个小姑娘写的~  太牛逼了
  2. Hacking Team事件导致一名韩国情报官员死亡
  3. 扑克牌排列_python
  4. 阿里云免费企业邮箱申请入口(2023新版)
  5. redis主从复制流程
  6. 原生html中modal,基于原生JS封装的Modal对话框插件
  7. 最全的 Linux 学习思维导图,建议收藏!
  8. SQL server中ROW_NUMBER() OVER()函数的使用方法
  9. 哈理工OJ 1380 Vagaa, eMule and Apple(水题)
  10. 金九银十准备季:Java IO流面试题(含答案)