当前位置:网站首页>继承关系下构造方法的访问特点
继承关系下构造方法的访问特点
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()会赠送
五、继承关系的初始化顺序:
(普通) 父类的属性→父类构造方法→子类的属性→子类的构造方法
(静态) 父类的静态属性→父类静态的代码块→子类的静态属性→子类的静态代码块→父类的属性→父类构造方法→子类的属性→子类的构造方法
边栏推荐
猜你喜欢
随机推荐
从源码方面来分析Fragment管理中 Add() 方法
[Microservice~Nacos] Nacos service provider and service consumer
十步以内,用小程序快速生成App!
xctf攻防世界 Web高手进阶区 shrine
每日一R「02」所有权与 Move 语义
C. Omkar and Baseball
CGLIB源码易懂解析
C. Mere Array
R语言拟合ARIMA模型并使用拟合模型进行预测推理:使用forecast函数计算ARIMA模型未来值(包含时间点、预测值、两个置信区间)
leetcode 刷题日记 计算右侧小于当前元素的个数
charts.js插件实现的散点图样式
Linux 配置MySQL
POWER SOURCE ETA ETA Power Repair FHG24SX-U Overview
迅为瑞芯微RK3399开发板设置Buildroot文件系统测试MYSQL允许远程访问
Liver all night to write a thirty thousand - word all the commands the SQL database, function, speaks clearly explain operators, content is rich, proposal collection + 3 even high praise!
反射机制篇
OKR 锦囊妙计
关于ETL的两种架构(ETL架构和ELT架构)
Js fifteen interview questions (with answers)
【LaTex】 Font “FandolSong-Regular“ does not contain requested(fontspec)Script “CJK“.如何抑制此种警告?