java继承中构造方法_java之继承中构造方法总结(文字版)
子父类中的构造方法的特点
1. 在子类构造对象时,发现访问子类构造方法时,父类也运行了.为什么呢?
答:因为,在子类构造方法中第一行有一个默认的隐式语句:super();
子类的实例化过程:子类中所有的构造方法默认都会访问父类中的空参的构造方法.
2.为什么子类实例化的时候要访问父类中的构造方法呢?
答:因为,在子类继承了父类,就获取到了父类中的内容,所以在使用父类内容之前,要先看父类是如何对自己的内容进行初始化的;所以子类在构造对象时,必须访问父类中的构造方法,为了完成这个必须的动作,就在子类构造方法中加入了super();语句. ps:如果父类中定义了构造有参构造,却没有定义无参构造,那么在子类构造方法中必须用super(参数列表)明确要调用的父类中的构造方法.
注意:super语句必须放在子类构造方法的第一行,因为父类的初始化动作要先完成.
创建子类对象时初始化过程:
首先在堆内存中开辟内存空间----->父类,子类默认初始化----->子类构造进栈----->执行第一行super()----->父类构造进栈
----->父类显示初始化----->父类构造代码块初始化----->父类构造方法初始化----->父类构造方法执行完毕----->回到子类构造
----->子类显式初始化----->子类构造代码块初始化----->子类构造方法初始化----->子类构造方法执行完毕----->初始化完成.
另外说一点:不管是在子类还是父类的方法中,如果默认有this的,那么这个this都指向子类对象,也就是说,在父类的方法中,如果有this的(也可以说是没有被static修饰的),都是指向了子类的对象所在的内存区域,而不是父类,因为这个时候就没有父类对象.
---------------------
作者:hurricane_ning
来源:CSDN
原文:https://blog.csdn.net/weixin_36898943/article/details/79762489
版权声明:本文为博主原创文章,转载请附上博文链接!
java继承中构造方法_java之继承中构造方法总结(文字版)相关推荐
- java 继承接口语法_java的继承、接口方面的语法及知识
继承(inheritance):一个类只能继承一个类 代码复用 继承的语法: class ChildClass extends ParentsClass{ } 父类的属性子类中都存在,只是有没有权限访 ...
- java继承类大全_Java 面向对象继承部分(示例代码)
被继承的类称为父类(超类),继承父类的类称为子类(派生类) 通过继承可以实现代码重用 子类拥有父类非 private 的属性.方法. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展. 子类可以 ...
- java继承和多态_Java基础继承与多态
Java基础第九天 继承概述 引入 首先我来写两个代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15//定义学生类 class Student { public void ...
- java 继承的好处_java关于继承的好处
继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父 ...
- java继承circle类_java的继承
我总是记不住继承是怎么个机制,今天我来彻底的总结一下. 先了解一下初始化的顺序 当程序执行时,需要生成某个类的对象,java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象, ...
- Java怎么用继承回复信息_JAVA面向对象-继承
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java继承: 1.继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承可以理解为一个对象从另一个对象获取属性的过程. 2.如果类 ...
- java集合类继承关系图_java集合继承关系图
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的,数组中可以存储基 ...
- java 拦截所有路径_Java或Web中解决所有路径问题
Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从 ...
- java字符串去掉中文_Java——去除字符串中的中文
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...
- java文件路径转义_java文件路径中“\”和“/”的区别
java文件路径中"\"和"/"的区别 发布时间:2020-06-25 17:51:22 来源:亿速云 阅读:189 作者:Leah 本篇文章为大家展示了jav ...
最新文章
- 解题报告:AcWing 1165. 单词环(01分数规划、hash、经验优化)
- java拦截到登陆界面,JavaWeb 使用Filter实现自动登录
- zephir开发的扩展“wudimei框架”之数据库使用方法
- SQL2005中利用PIVOT实现分组统计
- 【数字信号处理】线性时不变系统 LTI ( 判断某个系统是否是 “ 非时变 “ 系统 | 案例二 )
- jquery高版本全选与全部选无法正常工作
- web中常见乱码问题详解
- C#使用SQLite出错:无法加载 DLL“SQLite.Interop.dll”,找不到指定的模块
- 【日常排雷】 .Net core 生产环境appsetting读取失败
- 题库明细 使用C#开发数据库应用系统
- leetcode16 3-Sum
- Ubuntu下挂载U盘
- 【图像隐写】基于matlab DCT图像隐写【含Matlab源码 365期】
- 用于实时实例分割的Deep Snake算法
- 简单的商品信息管理系统(Java 和sql server数据库)源码
- [渝粤教育] 新乡医学院三全学院 医学分子生物学 参考 资料
- 知识兔课程揭秘2021抖音卖货代运营的新骗局,你中招了吗?
- Unity5.3官方VR教程重磅登场-系列4 VR中的用户界面
- 论文阅读-Detecting Deepfakes with Self-Blended Images (利用自混合图像检测深度伪造)
- 十大游戏开发引擎优缺点对比