面向对象随笔(super关键字)
一、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关键字)相关推荐
- Java 面向对象:super关键字的理解
Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...
- DYA9面向对象中--super关键字
super关键字 super代表父类的引用,用于访问父类的属性.方法.构造器 基本语法: 1,访问父类的属性,但不能访问父类的private属性 super.属性名: 2,访问父类的方法,不访问父类的 ...
- [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍
参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中 方法外 调 ...
- 1.4 面向对象编程中级 对象的继承与super关键字-跟着韩老师学JavaSE
大佬给推荐的韩顺平老师的课程 2021年刚刚录的船新版本! [零基础 快速学Java]韩顺平 零基础30天学会Java 硬把从另一个讲师那里看了300多集的我拽过来 几十节课一下子爱上这个节奏了!安利 ...
- Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...
- (兔C残篇)Java 面向对象的三个基本特征:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写
如文章标题,今天兔C残篇阐述的话题如下: 文章目录 1.什么是继承 1.1 democode 1.2 关于继承的理论知识概念 2. Super 关键字 3.this 关键字 4.this 和 supe ...
- Java面向对象之继承,方法重写,super关键字,员工类系列继承题
在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...
- Java面向对象之继承、super关键字、方法重写
一.继承 1.简单说明 子类可以拥有父类中除了私有变量/函数外的所有的内容,当出现x是y的一种什么的时候可以使用继承,x继承于y,x是y的儿子,x子类是对y父类的扩展. 反映的是一种特殊关系,如动物- ...
- Java面向对象——构造方法和关键字(static、this、final、super)
1 构造方法(Constructor) 1.构造方法和字段.方法一样,都是类中的成员之一: 2.构造方法的结构和普通方法类似,除了下面几点: a.构造方法的名字和类名一致(包括大小写): ...
最新文章
- IF10+的数据库文章!这里有5个案例,一起发起来?
- MonitorService-监控服务类2
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
- SVM熟练到精通1:初识SVM
- OpenShift 4 - DevSecOps Workshop (10) - 向Stage环境部署应用镜像
- Simple-RTMP-Server 服务器搭建
- 用CST进行多物理仿真,热仿真结果有误
- 哔哩哔哩助手V0.8.16.28
- 前端网页版ps,你用过了吗?
- 【NOIP2010普及组】三国游戏题解
- 基于机器学习的古代汉语切分标注算法及语料库研究(毕业设计包含完整代码+论文+资料ppt)
- 微信小程序实现人脸识别注册登录
- [附源码]计算机毕业设计二次元信息分享平台的设计及实现
- 从摆地摊到全球网商10强
- CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
- win 2016 hyper-v安装cactiez报错
- nginx开启https配置
- 山东中天物联网/威海天乐物联网有限公司不诚信商家
- 计算机窗口预览图,win10系统任务栏缩略图窗口预览速度提升的操作方法
- Apache Hive 问题 Exception: Too many counters: 121 max=120
热门文章
- Spring Boot - 开发Web应用
- shell中判断远程主机的某个tcp端口是否存活
- AKKA 笔记 - 有限状态机 -2
- Android Http客户端如何选择?
- [K/3Cloud]如何解决kdpkg无法部署到业务站点的问题
- Nagios(一)——LAMP 环境搭建
- IPV6 IPV4双栈互通与静态路由
- python中类的属性一般来说_python中实例属性和类属性之间的关系
- map分组后取前10个_hive中分组取前N个值的实现
- airtest远程连接手机_远程连接路由器图文教程,查询无线wifi连接手机dhcp设备名列表...