
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习java编程开发技术,而今天我们就一起来了解一下,java编程开发类的初始化与实例化实现方法。
1、类的初始化
主要职责:
类的构造器调用(<clinit>),初始化相关静态代码块以及静态变量的赋值
对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。
注意:可以看到类的初始化主要到类构造器变量结束执行的时间点。
2、类的实例化
主要职责:实例的构造器调用(<init>)、分配内存、属性值得定制化赋值机制。
类的实例化本身意义就是对象的概念,其实就是实例化对应的对象的过程。
实例对象内存的分配、实例对象参数的默认初始化+实例对象参数的实例化(就是按开发要求的实现调用,例如调用构造器<init>等)
此时一般处于在装载阶段的初始化完成之后,使用之前的阶段,接下来就要进行类的实例化操作
类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化,先会有一下几个步骤:
java虚拟机就会为其分配内存来存放自己及其从父类继承过来的实例变量
为这些实例变量分配内存的同时,这些实例变量先会被赋予默认值(零值)【这个零值与加载阶段中的准备很相似,就是先赋值语义级别的默认值,而并非参数真正的初始化】
在内存分配完成之后调用<init>方法,Java虚拟机执行构造代码块、构造方法等,方法参数执行等。才会对新创建的对象赋予我们程序给定的值
3、类实例化过程
检测类是否被加载
Java虚拟机遇到一条new指令时,先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过**。如果没有,那必须先执行相应的类加载过程**。
为新生对象分配内存
在类加载并完成类初始化之后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载及初始化完成后便可完全确定。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。