【JAVA学习之路 | 基础篇】super关键字

简介: 【JAVA学习之路 | 基础篇】super关键字

1.需求

  • 子类继承父类以后,并且对父类的方法进行的重写,那么在子类中是否可以对父类被重写的方法进行调用?
  • 子类继承父类后,发现在子类中定义了和父类中同名的属性,是否可以在子类中区分二者?

2.super可调用的结构

  1. 属性
  2. 方法
  3. 构造器

3.super调用属性和方法

  • 子类继承父类后,我们可以在子类的方法或构造器中,调用父类声明的属性和方法(前提满足封装性).使用"super."调用父类的属性和方法.
  • 一般情况下,可以考虑省略"super.",但如果子类重写了父类的方法或者子父类出现了同名的属性,就必须使用"super.",显式调用父类被重写的方法或父类中声明的同名属性.

4.super调用构造器

  1. 子类继承父类时,并不会继承父类的构造器.只能通过"super(参数列表)"调用父类指定的构造器.
  2. 规定 : "super(参数列表)"必须声明在构造器的首行.
  3. 可以使用"this(参数列表)"可以调用本类重载构造器,且该只能出现在构造器的首行.故"super(参数列表)"和"this(参数列表)"只能二选一.
  4. 如果在子类中没有显式调用"this(参数列表)"和"super(参数列表)",那么该构造器会默认调用"super()",即父类的无参构造器.
  5. 子类的任何一个构造器,要么调用本类的重载构造器,要么调用父类的构造器.
  6. 如果子类没有显式调用父类构造器或本类构造器,而此时父类恰好又没有空参构造器(当父类中显式声明构造器,系统不再默认添加空参构造器),此时编译出错.
  7. (重点).我们在通过子类的构造器创建对象时,一定在构造过程中,直接或间接的调用父类构造器,直到调用了Obgect类中的构造器为止.也正因为调用父类的构造器,父类的属性和方法才会被加载到内存中,供子类对象使用.(即祖宗类先被加载到内存中,然后是父类,然后是子类)
相关文章
|
2月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
97 43
Java学习十六—掌握注解:让编程更简单
|
29天前
|
JavaScript 前端开发 Java
java中的this关键字
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。自学前端2年半,正向全栈进发。若我的文章对你有帮助,欢迎关注,持续更新中!🎉🎉🎉
50 9
|
29天前
|
设计模式 JavaScript 前端开发
java中的static关键字
欢迎来到瑞雨溪的博客,博主是一名热爱JavaScript和Vue的大一学生,致力于全栈开发。如果你从我的文章中受益,欢迎关注我,将持续分享更多优质内容。你的支持是我前进的动力!🎉🎉🎉
51 8
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
1月前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
46 4
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
Java 程序员
在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。
【10月更文挑战第13天】在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。本文介绍了Java关键字的基本概念及其重要性,并通过定义类和对象、控制流程、访问修饰符等示例,展示了关键字的实际应用。掌握这些关键字,是成为优秀Java程序员的基础。
28 3
|
2月前
|
算法 Java
在Java编程中,关键字和保留字是基础且重要的组成部分,正确理解和使用它们
【10月更文挑战第13天】在Java编程中,关键字和保留字是基础且重要的组成部分。正确理解和使用它们,如class、int、for、while等,不仅能够避免语法错误,还能提升代码的可读性和执行效率。本指南将通过解答常见问题,帮助你掌握Java关键字的正确使用方法,以及如何避免误用保留字,使你的代码更加高效流畅。
37 3
|
2月前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
在Java并发编程中,`final`关键字不仅用于修饰变量、方法和类,还在多线程环境中确保对象状态的可见性和不变性。本文深入探讨了`final`关键字的作用,特别是其在final域重排序规则中的应用,以及如何防止对象的“部分创建”问题,确保线程安全。通过具体示例,文章详细解析了final域的写入和读取操作的重排序规则,以及这些规则在不同处理器上的实现差异。
了解final关键字在Java并发编程领域的作用吗?
|
2月前
|
Java 程序员 编译器
下一篇
DataWorks