文章目录

  • 1 super关键字的使用
  • 2 super调用构造器
  • 3 子类对象实例化过程

1 super关键字的使用

1.super理解为:父类的
2.super可以用来调用:属性、方法、构造器
3.super的使用:调用属性和方法

  • 3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."
  • 3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。
  • 3.3 特殊情况:当子类重写了父类中的方法以后,我们想在子类的方法中调用父类中被重写的方法时,则必须显式的使用"super.方法"的方式,表明调用的是父类中被重写的方法。

2 super调用构造器

  1. 我们可以在子类的构造器中显式的使用"super(形参列表)"的方式,调用父类中声明的指定的构造器

  2. "super(形参列表)"的使用,必须声明在子类构造器的首行!

  3. 我们在类的构造器中,针对于"this(形参列表)"或"super(形参列表)"只能二选一,不能同时出现

  4. 在构造器的首行,没有显式的声明"this(形参列表)“或"super(形参列表)”,则默认调用的是父类中空参的构造器:super()

  5. 在类的多个构造器中,至少有一个类的构造器中使用了"super(形参列表)",调用父类中的构造器

3 子类对象实例化过程

  1. 从结果上来看:子类继承父类以后就获取了父类中声明的属性或方法。创建子类对象,在堆空间中就会加载所有父类中声明的属性。

  2. 从过程上来看:当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器。所以直到调用java.lang.Object类中空参的构造器为止。正因为加载过所有的父类的结构,所以才可以看到内存中有父类中的结构,子类对象才可以考虑调用。

明确一点:虽然创建子类对象时,但是自始至终就创建过一个对象,即new的子类对象。

Java学习第7篇_supper关键字相关推荐

  1. 从.Net到Java学习第四篇——spring boot+redis

    从.Net到Java学习系列目录 "学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......"接上一篇,本篇使用到的框架redis.FastJSO ...

  2. [Java学习之路篇] 设计原则与设计模式

    编程可谓博大精深,按照不同的思路逻辑.框架规范编写出来的程序运行的效率都大相径庭.本篇并不只针对Java程序,应适用于所有编写的程序,是编程世界中的一套方法论,俗称编程套路.它们会出现在目前很多大公司 ...

  3. java学习笔记-基础篇

    Java基础篇 1-12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28-31异常 1-12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...

  4. Java学习进阶知识篇

    系列文章目录 提示:....................... 文章目录 系列文章目录 前言 一.类和对象 面向对象基本介绍 类的基本使用属性 构造方法和析构方法 对象 二. 总结 前言 提示:这 ...

  5. Java学习总结:11(final关键字)

    final关键字 在Java中final称为终结器,在Java中可以使用final定义类.方法和属性. 一.使用final定义的类不能再有子类,即:任何类都不能继承以final声明的父类. 在设计类的 ...

  6. Java学习笔记四:static关键字

    1.static表示什么? static表示"全局"或者"静态"的意思.在Java中没有全局变量的概念,static 可以简单的理解为全局的,独立的一个功能. ...

  7. java学习,入门篇-HelloWorld

    HelloWorld 学习资源:西部开源–秦疆,B站up主'遇见狂神说'. 新建一个用于存放代码的文件 在新建的文件中新建一个Java 文件 新建一个文件 更改后缀名为Hello.java 编码格式 ...

  8. Java学习之正则表达式篇

    文章目录 快速入门 正则表达式基本语法 1. 字符匹配符 2. 选择匹配符 3. 限定符 4. 定位符 5. 分组组合 .反向引用符 6.特殊字符 三个常用类 Pattern Matcher Patt ...

  9. JAVA学习历程/基础篇/第二天

    常量 常量是程序在运行过程当中值不会改变的量.整数常量(所有整数).小数常量(所有小数).布尔常量(true和false).字符常量(单子字符如'a').字符串常量(字符序列如"abcd&q ...

最新文章

  1. zabbix学习笔记(5)
  2. java中执行cmd命令_如何通过Java执行cmd命令
  3. MySQL—06—数据库三大范式
  4. 后盾网lavarel视频项目---laravel 使用laracasts/flash插件提示信息
  5. 安装vsftpd-3.0.2.tar.gz源码
  6. 关于服务程序生成文件存放在哪的问题
  7. java安装cab破损,WCELOAD无法安装压缩的CAB文件
  8. django中FastDFS客户端与自定义文件存储系统
  9. Linux 退出保存/不保存
  10. Mongodb 集群实战
  11. Jumpserver web界面跳板机
  12. 玩转文字!汉字海报的布局排版形式成功案例,给你灵感!
  13. php 周末 培训,济南php周末培训班
  14. java二次雷达编码地址
  15. 接口测试用例怎么写?
  16. 大数据处理方面的 7 个开源搜索引擎
  17. PIE SDK波谱运算
  18. 转贴:操盘手心理训练手册
  19. java手写-txt大文本分割
  20. 【更新中…】Latex语法总结

热门文章

  1. 损失函数MSELoss和CELoss
  2. ES版cpu如何购买和判断?
  3. 查看自己的CSDN访客
  4. ThreadX学习(2)——线程
  5. Python实现统计文本中各单词数量
  6. 批量合同生成软件/工具
  7. RecyclerView 嵌套RecyclerView 或者 ScrollView当中嵌套RecyclerView ,子View会自动滚动到顶部
  8. 斑马条纹是为了驱散舌蝇和马蝇
  9. 北航计算机九推经验,前辈种树 | 工科九推经验贴
  10. Asp.Net Kestrel自定义IP和端口, WTM框架自定义IP和端口