子父类中的构造方法的特点

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之继承中构造方法总结(文字版)相关推荐

  1. java 继承接口语法_java的继承、接口方面的语法及知识

    继承(inheritance):一个类只能继承一个类 代码复用 继承的语法: class ChildClass extends ParentsClass{ } 父类的属性子类中都存在,只是有没有权限访 ...

  2. java继承类大全_Java 面向对象继承部分(示例代码)

    被继承的类称为父类(超类),继承父类的类称为子类(派生类) 通过继承可以实现代码重用 子类拥有父类非 private 的属性.方法. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展. 子类可以 ...

  3. java继承和多态_Java基础继承与多态

    Java基础第九天 继承概述 引入 首先我来写两个代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15//定义学生类 class Student { public void  ...

  4. java 继承的好处_java关于继承的好处

    继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父 ...

  5. java继承circle类_java的继承

    我总是记不住继承是怎么个机制,今天我来彻底的总结一下. 先了解一下初始化的顺序 当程序执行时,需要生成某个类的对象,java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象, ...

  6. Java怎么用继承回复信息_JAVA面向对象-继承

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java继承: 1.继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承可以理解为一个对象从另一个对象获取属性的过程. 2.如果类 ...

  7. java集合类继承关系图_java集合继承关系图

    面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的,数组中可以存储基 ...

  8. java 拦截所有路径_Java或Web中解决所有路径问题

    Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从 ...

  9. java字符串去掉中文_Java——去除字符串中的中文

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...

  10. java文件路径转义_java文件路径中“\”和“/”的区别

    java文件路径中"\"和"/"的区别 发布时间:2020-06-25 17:51:22 来源:亿速云 阅读:189 作者:Leah 本篇文章为大家展示了jav ...

最新文章

  1. 解题报告:AcWing 1165. 单词环(01分数规划、hash、经验优化)
  2. java拦截到登陆界面,JavaWeb 使用Filter实现自动登录
  3. zephir开发的扩展“wudimei框架”之数据库使用方法
  4. SQL2005中利用PIVOT实现分组统计
  5. 【数字信号处理】线性时不变系统 LTI ( 判断某个系统是否是 “ 非时变 “ 系统 | 案例二 )
  6. jquery高版本全选与全部选无法正常工作
  7. web中常见乱码问题详解
  8. C#使用SQLite出错:无法加载 DLL“SQLite.Interop.dll”,找不到指定的模块
  9. 【日常排雷】 .Net core 生产环境appsetting读取失败
  10. 题库明细 使用C#开发数据库应用系统
  11. leetcode16 3-Sum
  12. Ubuntu下挂载U盘
  13. 【图像隐写】基于matlab DCT图像隐写【含Matlab源码 365期】
  14. 用于实时实例分割的Deep Snake算法
  15. 简单的商品信息管理系统(Java 和sql server数据库)源码
  16. [渝粤教育] 新乡医学院三全学院 医学分子生物学 参考 资料
  17. 知识兔课程揭秘2021抖音卖货代运营的新骗局,你中招了吗?
  18. Unity5.3官方VR教程重磅登场-系列4 VR中的用户界面
  19. 论文阅读-Detecting Deepfakes with Self-Blended Images (利用自混合图像检测深度伪造)
  20. 十大游戏开发引擎优缺点对比

热门文章

  1. uva 10391 Compound Words
  2. YonBuilder直播预约第七期 | 一场直播带你走近规则链
  3. Java课程作业02
  4. maven的环境搭建
  5. 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记
  6. Windows UWP开发系列 – RelativePanel
  7. 剑指 offer set 28 实现 Singleton 模式
  8. 快速获取本机IP地址AWK功能
  9. 理解MySQL——复制(Replication)
  10. 收藏:asp.net