码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA对象创建的过程(简单粗暴明了)

时间:2015-07-02 10:09:30      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:对象   静态   初始化   

假设有个名为Cat类:

1、即使没有显示地使用static关键字,构造器实际上也是静态方法。因此在创建类型为Cat的对象时,或者Cat类的静态方法/静态域被首次访问时(被引用),java解释器必须查找类途径(classpath上查找),以定位Cat.class文件。

2,、然后类加载器载入Cat.class,有关静态初始化的所有动作都会执行。并且,静态初始化只在Class对象首次加载时进行一次(关键字为static,与类绑定,通过类便可以访问这一变量,同时该类的对象共享这一资源。)

3、当用new Cat()创建对象时,首先在堆上为Cat对象分配好足够的存储空间。

4、这块存储空间会被清零,这就自动将Cat对象中的所有基本类型数据都设置成默认值(数字为0、布尔型和字符型也相同),引用被置为null。

5、执行所有出现于字段定义出的初始化动作。(按照语句位置的顺序初始化

6、执行构造器。

public static void main(String args[])

这是java程序执行的入口,是一个静态方法。当执行到这句话的时候,解释器便会寻找改类的.class文件,并将其加载进来(先加载父类、再加载接口等),初始化的时候,将这个类的静态变量先初始化(按照代码的顺序位置)、然后是初始化非静态引用对象、最后执行构造器。

版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA对象创建的过程(简单粗暴明了)

标签:对象   静态   初始化   

原文地址:http://blog.csdn.net/u012312373/article/details/46718911

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!