java代码的初始化过程研究
2017-04-08 21:19
204 查看
刚刚在ITeye上看到一篇关于java代码初始化的文章,看到代码我试着推理了下结果,虽然是大学时代学的知识了,没想到还能做对。(看来自己大学时掌握的基础还算不错,(*^__^*) 嘻嘻……)但是博主写的不够详细具体,我想在这详细谈一下java代码的具体初始化过程。
首先要清楚,初始化分为两个过程:类初始化、对象初始化。
类初始化是指类加载器将类加载到内存时,对类成员的初始化过程,也就是有static修饰的变量。对于加载完的类,它的类变量都会赋一个默认值,即使你定义时就赋值了。比如int类型就是0,引用类型就是null。(语言有点苍白无力了,我还是直接上例子吧!)
+
View Code
让我们来分析下这个实例,Test类有两个类成员变量,当类被加载完后就要进行类的初始化过程,虽然number和object都在定义时被赋予了值,但是他们还是首先被赋予0和null值,哪什么时候才将我们的5和object对象赋予呢?它是在编译后经过一个静态代码块赋值。所以他的实际初始化过程类似于如下代码:
+
View Code
对象初始化是指当我们创建对象时的初始化过程,它的初始化过程跟类初始化过程很相似,只是多了一个构造函数的过程。直接上代码:
+
View Code
表达能力还真是有限,我还是感觉直接上代码说的清楚,它的实际初始化过程的类似于如下代码:
+
View Code
你没有看错,动态代码块直接就没了,赋值过程都被移到了构造方法中了。变量定义和动态代码块一样都是按照出现的顺序移到构造方法中的。
以上就是类初始化过程和对象初始化过程,不知道有没有说清楚,做几个小题测试一下吧^_^。(这里就直接拿刚才ITeye上看到的代码为例吧)
+
View Code
不知道你能不能通过以上的讲解推理出打印什么值,这里我把实际初始化过程的代码发一下:
+
View Code
不早了,准备谁家,大家晚安O(∩_∩)O
首先要清楚,初始化分为两个过程:类初始化、对象初始化。
类初始化是指类加载器将类加载到内存时,对类成员的初始化过程,也就是有static修饰的变量。对于加载完的类,它的类变量都会赋一个默认值,即使你定义时就赋值了。比如int类型就是0,引用类型就是null。(语言有点苍白无力了,我还是直接上例子吧!)
+
View Code
让我们来分析下这个实例,Test类有两个类成员变量,当类被加载完后就要进行类的初始化过程,虽然number和object都在定义时被赋予了值,但是他们还是首先被赋予0和null值,哪什么时候才将我们的5和object对象赋予呢?它是在编译后经过一个静态代码块赋值。所以他的实际初始化过程类似于如下代码:
+
View Code
对象初始化是指当我们创建对象时的初始化过程,它的初始化过程跟类初始化过程很相似,只是多了一个构造函数的过程。直接上代码:
+
View Code
表达能力还真是有限,我还是感觉直接上代码说的清楚,它的实际初始化过程的类似于如下代码:
+
View Code
你没有看错,动态代码块直接就没了,赋值过程都被移到了构造方法中了。变量定义和动态代码块一样都是按照出现的顺序移到构造方法中的。
以上就是类初始化过程和对象初始化过程,不知道有没有说清楚,做几个小题测试一下吧^_^。(这里就直接拿刚才ITeye上看到的代码为例吧)
+
View Code
不知道你能不能通过以上的讲解推理出打印什么值,这里我把实际初始化过程的代码发一下:
+
View Code
不早了,准备谁家,大家晚安O(∩_∩)O
相关文章推荐
- java代码的初始化过程研究
- java代码的初始化过程研究
- java 对象的初始化过程研究与探索
- java 代码初始化数据库表结构,存储过程和函数的方法
- JAVA面向对象知识点总结(3)—静态static、主函数详解、静态代码快、对象初始化过程
- 深入研究Java中一个对象的初始化过程
- [Java] 不可思议的代码-- 类的初始化过程
- PhoneMe Advanced 代码浅读一----CVM启动和初始化过程
- (转载)JAVA中对象创建和初始化过程
- Java对象创建和初始化过程,处理字符串的机制
- 解析Java中的类和对象的初始化过程
- 解析 Java 类和对象的初始化过程(由一个单态模式引出的问题谈起)
- java对象初始化过程
- 解析Java类和对象的初始化过程_J2EE_Java开发_软件开发-编程-IT资源网
- Java 初始化过程详解
- [转]JAVA中对象创建和初始化过程
- 子类的创建及初始化过程_Thinking in Java(4)_读书笔记(1)
- 解析Java类和对象的初始化过程
- 解析Java类和对象的初始化过程
- Java:对象创建和初始化过程