当前位置:网站首页>继承关系下构造方法的访问特点
继承关系下构造方法的访问特点
2022-08-09 22:01:00 【一个巨蟹座的程序猿.】
首先了解一下什么是继承:
继承的好处: 共性抽取,提高代码的复用性。
一旦发生继承关系: 子类可以使用父类的(非private修饰的)变量和方法(可继承)
子类也可以有自己独有的变量和方法
一、继承的语法:
public class 子类 extends 父类{
}
//遵循 is a ---> 子类是一个父类
//子类和父类是一个相对的概念
方式:1、编写父类
2、编写子类,继承父类(extends),写自己的属性和方法
二、什么叫构造方法:
构造方法也叫做构造器,它是一种比较特殊的方法,主要用于创建实例(也就是对象)的时候进行初始化操作。
语法:
修饰符 方法名(参数){
} //可以有参,也可以无参
如下图所示:
继承关系中,构造方法的访问特点:
1、子类构造方法当中有一个默认隐含的“super()”调用,所以一定是先调用的父类构造,后执行的子类构造。
2、子类构造可以通过super关键字来调用父类重载构造。
3、super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。
总结:子类必须调用父类构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。
三、super关键字:代表对当前对象的直接父类对象的默认引用
super必须出现在子类中,不是其他位置
可以访问父类的成员(属性 方法 构造方法)
注意访问权限的限制,如private修饰的成员无法访问
super.name 访问属性
super.print() 访问方法
super(name) 访问父类的构造方法
四、this关键字: this 的三种用法: 1. this.本类成员变量 2. this.本类成员方法 3. this(参数); //调用本类的其他构造方法
a.必须写在构造方法中 b.必须是第一个语句,this(参数)和super(参数)不能同时存在 c.写了this(参数),之后不再赠送super(); d.构造方法不能递归(你调用我,我调用你); e.this不写系统不会默认赠送,而super()会赠送
五、继承关系的初始化顺序:
(普通) 父类的属性→父类构造方法→子类的属性→子类的构造方法
(静态) 父类的静态属性→父类静态的代码块→子类的静态属性→子类的静态代码块→父类的属性→父类构造方法→子类的属性→子类的构造方法
边栏推荐
- Cesium渐变色3dtiles白模(视频)
- R语言拟合ARIMA模型并使用拟合模型进行预测推理:使用forecast函数计算ARIMA模型未来值(包含时间点、预测值、两个置信区间)
- shell学习
- Socket发送缓冲区接收缓冲区快问快答
- Xiaohei leetcode's refreshing rainy day trip, just finished eating Yufei Beef Noodles, Mala Tang and Beer: 112. Path Sum
- 反射机制篇
- 【LaTex】 Font “FandolSong-Regular“ does not contain requested(fontspec)Script “CJK“.如何抑制此种警告?
- This article lets you quickly understand implicit type conversion [integral promotion]!
- 发送激活邮件「建议收藏」
- chart.js面积图曲线图统计插件
猜你喜欢
随机推荐
Chatting embarrassing scenes, have you encountered it?Teach you to get the Doutu emoticon package with one click, and become a chat expert
leetcode:320.列举单词的全部缩写
Rust dereference
Common commands and technical function modules of Metasploit
mysql multi-table left link query
17-GuliMall 搭建虚拟域名访问环境
mysql 找不到或无法加载已注册的 .Net Framework Data Provider。
华为鸿蒙3.0的野望:技术、应用、生态
工作经验-组件封装(拖拽排序组件)
【EF】数据表全部字段更新与部分字段更新
五星控股汪建国:以“植物精神”深耕赛道,用“动物精神”推动成长
面试官:Redis 大 key 要如何处理?
Deceptive Dice
【Apifox】为什么如此受青睐,此篇文章和大家分享
Arcgis工具箱无法使用,显示“XML包含错误“的解决方法
肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!
shell学习
18-GuliMall 压力测试与性能监控
为什么这么多人都想当产品经理?
Flask之路由(app.route)详解