【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类中的构造器为止.也正因为调用父类的构造器,父类的属性和方法才会被加载到内存中,供子类对象使用.(即祖宗类先被加载到内存中,然后是父类,然后是子类)
相关文章
|
6月前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
369 1
|
7月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
212 1
|
6月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
535 0
|
6月前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
625 9
|
7月前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
116 5
|
7月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
201 5
|
7月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
264 3
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
245 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
|
Java 测试技术 C++
【JAVA学习之路 | 进阶篇】File类及常用方法
【JAVA学习之路 | 进阶篇】File类及常用方法
下一篇
开通oss服务