一、super关键字

1.super的三个作用

1)调用父类的成员变量

示例代码:

 1 public class A {
 2     int a = 1;//父类成员变量a
 3 }
 4
 5 public class B extends A {
 6     int a = 2;//子类成员变量a
 7     public void show() {
 8         System.out.println(a);//2
 9         System.out.println(super.a);//1
10     }
11 }

2)调用父类的构造方法

在子类中调用父类的构造器,子类所有构造方法无论重载多少个,第一行必须是super();

super()和this()只能存在一个,任选其一,只要满足子类中的构造方法调用一次父类的构造方法即可;

注意:所有的子类中都隐式包含super()在子类的构造器的第一行,不写并不代表没有!

示例代码:

 1 public class A {
 2     private int a;
 3     //父类的有参数构造器
 4     public A(int a) {
 5         this.a = a;
 6     }
 7 }
 8
 9 public class B extends A {
10     private int b;
11     //子类的空参构造器
12     public B() {
13         //利用this()调用子类中的重载构造器
14         this(3);//此处没有this(3);则编译失败,因为子类没有调用父类的构造器
15     }
16     //子类的有参构造器
17     public B(int b) {
18         //利用super()调用父类的有参数构造器
19         super(3);//同this();子类中必须调用一次父类的构造方法
20     }
21 }

3)调用父类的成员方法

示例代码:

 1 public class A {
 2     public void show() {
 3         System.out.println("父类的方法");
 4     }
 5 }
 6
 7 public class B extends A {
 8     public void show() {
 9         System.out.println("子类的方法");
10         //利用super关键字调用父类的方法
11         super.show();
12     }
13 }
14
15 public class Test {
16     public static void main(String[] args) {
17         B b = new B();
18         b.show();//子类的方法     父类的方法
19     }
20 }

转载于:https://www.cnblogs.com/shak1ng/p/7988952.html

面向对象随笔(super关键字)相关推荐

  1. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

  2. DYA9面向对象中--super关键字

    super关键字 super代表父类的引用,用于访问父类的属性.方法.构造器 基本语法: 1,访问父类的属性,但不能访问父类的private属性 super.属性名: 2,访问父类的方法,不访问父类的 ...

  3. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  4. 1.4 面向对象编程中级 对象的继承与super关键字-跟着韩老师学JavaSE

    大佬给推荐的韩顺平老师的课程 2021年刚刚录的船新版本! [零基础 快速学Java]韩顺平 零基础30天学会Java 硬把从另一个讲师那里看了300多集的我拽过来 几十节课一下子爱上这个节奏了!安利 ...

  5. Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细

    目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...

  6. (兔C残篇)Java 面向对象的三个基本特征:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写

    如文章标题,今天兔C残篇阐述的话题如下: 文章目录 1.什么是继承 1.1 democode 1.2 关于继承的理论知识概念 2. Super 关键字 3.this 关键字 4.this 和 supe ...

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

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

  8. Java面向对象之继承、super关键字、方法重写

    一.继承 1.简单说明 子类可以拥有父类中除了私有变量/函数外的所有的内容,当出现x是y的一种什么的时候可以使用继承,x继承于y,x是y的儿子,x子类是对y父类的扩展. 反映的是一种特殊关系,如动物- ...

  9. Java面向对象——构造方法和关键字(static、this、final、super)

    1 构造方法(Constructor)   1.构造方法和字段.方法一样,都是类中的成员之一:   2.构造方法的结构和普通方法类似,除了下面几点:   a.构造方法的名字和类名一致(包括大小写): ...

最新文章

  1. IF10+的数据库文章!这里有5个案例,一起发起来?
  2. MonitorService-监控服务类2
  3. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
  4. SVM熟练到精通1:初识SVM
  5. OpenShift 4 - DevSecOps Workshop (10) - 向Stage环境部署应用镜像
  6. Simple-RTMP-Server 服务器搭建
  7. 用CST进行多物理仿真,热仿真结果有误
  8. 哔哩哔哩助手V0.8.16.28
  9. 前端网页版ps,你用过了吗?
  10. 【NOIP2010普及组】三国游戏题解
  11. 基于机器学习的古代汉语切分标注算法及语料库研究(毕业设计包含完整代码+论文+资料ppt)
  12. 微信小程序实现人脸识别注册登录
  13. [附源码]计算机毕业设计二次元信息分享平台的设计及实现
  14. 从摆地摊到全球网商10强
  15. CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
  16. win 2016 hyper-v安装cactiez报错
  17. nginx开启https配置
  18. 山东中天物联网/威海天乐物联网有限公司不诚信商家
  19. 计算机窗口预览图,win10系统任务栏缩略图窗口预览速度提升的操作方法
  20. Apache Hive 问题 Exception: Too many counters: 121 max=120

热门文章

  1. Spring Boot - 开发Web应用
  2. shell中判断远程主机的某个tcp端口是否存活
  3. AKKA 笔记 - 有限状态机 -2
  4. Android Http客户端如何选择?
  5. [K/3Cloud]如何解决kdpkg无法部署到业务站点的问题
  6. Nagios(一)——LAMP 环境搭建
  7. IPV6 IPV4双栈互通与静态路由
  8. python中类的属性一般来说_python中实例属性和类属性之间的关系
  9. map分组后取前10个_hive中分组取前N个值的实现
  10. airtest远程连接手机_远程连接路由器图文教程,查询无线wifi连接手机dhcp设备名列表...