黑马程序员技术交流社区
标题: 关于类对象初始化的一些小总结 [打印本页]
作者: 李新辉 时间: 2013-10-31 21:13
标题: 关于类对象初始化的一些小总结
本帖最后由 李新辉 于 2013-11-4 15:34 编辑
对象的初始化过程遵循以下的规律:
1、 如果存在继承关系,就先父类后子类;
2 、如果在类内有静态变量和静态块,就先静态后非静态,最后才是构造函数;
3 、继承关系中,必须要父类初始化完成后,才初始化子类。
--------------------------------------------
类的加载:
当在cmd操作台调用java命令执行文件的时候,虚拟机先从main函数读起(主函数为静态),然后装载器(loader)就会寻找和main同名的class文件
class类文件就被加载进内存方法区
如果有继承,就先加载父类,还有父类的父类,这个时候还没有对象的存在(注意类文件在加载时,同样遵循先父类后子类)
加载类文件的同时执行类文件中的静态代码块对类进行初始化,
类初始化顺序遵循从先父类后子类,本类内部从上往下。因为子类的初始化有可能会用到父类的静态成员,这个顺序很重要
这个时候类就加载并初始化完毕,下一步就该建立对象了
-----------------------------------
对象的建立:(对象初始化时先父类后子类,类内部是从上往下,顺序很重要)
然后就在内存中为父类开辟空间 并进行默认初始化
接着就在内存中为子类开辟空间 并进行默认初始化
默认初始化完成后,
从父类开始显示初始化并执行非静态方法块和构造函数,
然后再子类开始显示初始化并执行非静态方法块和构造函数。
当数据都建立完毕,对象就初始化完成了
对象就是来封装数据的,java里数据只有被封装在了对象里,才能为我们所用……
万物皆对象……
作者: 李新辉 时间: 2013-10-31 21:25
手敲个字都能乱码
又让再整理一遍
真苦逼……
作者: 李新辉 时间: 2013-11-1 00:37
我顶………………
作者: 李新辉 时间: 2013-11-1 13:16
有什么不足之处还望大家多多之处哦……
多多交流,共同进步……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |