一个对象的实例化过程

news/2024/5/19 0:01:30 标签: 对象初始化, 构造函数, 实例化过程

person p = new person();

  1. JVM会读取指定的路径下的person.class文件,并加载进内存。并会先加载person的父类(如果有直接父类的情况下)
  2. 在堆内存中开辟空间,分配地址
  3. 并在对象的空间中,对对象的属性进行默认初始化。
  4. 调用对应的构造函数进行初始化
  5. 构造函数中,第一行会先到调用父类中构造函数进行初始化,在子类的构造函数中一定有一个super(),调用父类的默认无参数的构造函数。如果父类有形参的构造函数,也可以使用super(2)进行调用有参的构造函数
  6. 父类初始化完毕以后,再对子类的属性进行显示初始化。在初始化父类的成员变量时,子类的成员变量并未进行显示初始化。
  7. 在进行子类构造函数的特定初始化,此时,初始化子类的成员变量,局部代码块,然后继续执行子类的构造函数
  8. 初始化完毕以后,将地址赋值给引用变量。

http://www.niftyadmin.cn/n/1280128.html

相关文章

phstrom配置php_通过Composer安装PHPunit并配置Phpstrom

phpunit 基础入门性通过Composer安装PHPunit并配置Phpstrom做单元测试可以大幅减少bug的产生率,提高后期维护性,所以想做一个优秀靠谱的PHP 程序员会做单元测试是必不可少的。在PHP界用 phpunit 做单元测试几乎是标配,今天就来学习安装和使用…

java三大特性之多态(封装,继承,多态)

多态:简单的说,就是一个对象对应着不同类型。 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象&#…

前端基础-Vue的生命周期

第10章 Vue的生命周期 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代…

rpa项目poc_[经典收藏]终极RPA术语表:机器人流程自动化的基础概念

随着自动化和识别技术超越了制造工厂开始进入知识工作者的办公室环境,公司领导者必须知道的术语也会增加。机器人流程自动化(RPA)术语表人工智能(AI) 【Artificial Intelligence (AI)】旨在以类似于人类反应的方式响应和学习刺激的技术,具有通常仅在人类…

文件隐藏在一张图片里

把任意文件隐藏在一张图片里可能要有基本的命令行知识。不过也没关系,按照下面的步骤做就行了。h 准备:1.一张图片 2.一个做试验的txt文件 3.WinRAR 步骤: 1:准备一张图片,比如 winshome.jpg。准备目标文件&#xff0c…

前端基础-Vue.js单页应用

第11章 单页应用 11.1 单页应用 什么是单页应用 单页应用(single page web application,SPA),是在一个页面完成所有的业务功能,浏览器一开始会加载必需的HTML、CSS和JavaScript,之后所有的操作都在这张页面完成,这一切…

bootstrap-popover的配置与灵活应用

首先罗列一下配置参数: 1、animation true/false 是否动画 2、placement right/left/top/bottom/function(){return right} 弹出提示的位置 3、selector 目标对象 4、trigger hover/click... 触发方式 5、title 标题 如果元素没有指定data-original-title属性&#…

JAVA 内存泄漏与内存溢出

概念 内存泄露:指程序中动态分配内存给一些临时对象,但对象不会被GC回收,它始终占用内存,被分配的对象可达但已无用。即无用对象持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间浪费。 内存溢出&…