1.jvm找到class文件路径。 2.jvm载入class文件,静态初始化,创建一个class对象。 3.为即将创建的对象分配内存空间。 4.对分配的空间进行清零,例如:int清除为0,boolean清除为flase,对象则为null。 5.对所有字段进行初始化,比如:private int ag ...
分类:
编程语言 时间:
2016-10-21 10:18:01
阅读次数:
164
本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响。另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初始化 一共有三种方式对实例变量进行初始化: ①定义实例变量时指定初始值 ②非静态初始化块中对实例变量 ...
分类:
编程语言 时间:
2016-10-04 21:09:16
阅读次数:
340
数组定义,数组初始化:动态初始化,静态初始化 int[ ] array=new int[6]; new 是运算符;数值类型初始值为0,bool类型是false,字符串初始值null. 动态初始化:数据类型[] 数组名=new 数据类型[数组长度]{元素1,元素2}; //数组的动态初始化 int[] ...
分类:
编程语言 时间:
2016-09-30 02:12:47
阅读次数:
164
数组: 1. 数组的概念:一组相同数据类型的集合 2. 数组的声明: 数据类型[] 数组名; 数据类型 数组名[]; 3. 数组的初始化: 1). 动态初始化:数组名 = new 数据类型[数组长度]; 2). 静态初始化:数组名 = new 数据类型[]{值1,值2,值3,…}; 所谓初始化,就是 ...
分类:
编程语言 时间:
2016-09-27 00:21:15
阅读次数:
177
1、 2、 3、Java会对数据进行缓存,如果声明一个变量时在缓存中有相同值的实例,则会指向相同的应用 4、JAVA的数组只是一个引用类型的变量,定义时不能指定数组长度 syntx: type[] arrayName; 5、数组初始化 静态初始化:arrayName= new Type{elemen ...
分类:
编程语言 时间:
2016-09-25 09:33:52
阅读次数:
163
对于实例变量而言,它属于Java对象本身,每次程序创建Java对象时都需要为实例变量分配内存空间,并执行初始化。 从程序运行的角度来看,每次创建Java对象都会为实例变量分配内存空间,并对实例变量执 行初始化。 程序可以在3个地方对实例变量执行初始化: .定义实例变量时指定初始值; .非静态初始化块 ...
分类:
编程语言 时间:
2016-09-24 11:55:06
阅读次数:
168
通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。 ...
分类:
其他好文 时间:
2016-09-20 18:01:14
阅读次数:
109
一般来说,对于java的对象来说,可以重用对象的情况下:尽量不要在需要的时候就创建一个相同功能的对象 1、String 2、尽量用静态初始化一些相同功能的对象 改进后: 3、基本类型及其包装类 优先使用基础类 ...
分类:
其他好文 时间:
2016-09-18 11:46:44
阅读次数:
100
随笔- 40 文章- 0 评论- 1 <!--end: blogStats --> <!--end: navigator 博客导航栏 --> Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究 Java与C++有一个不同之处在于,Java不但有构造函数,还有一个”初始化块“(Initia ...
分类:
编程语言 时间:
2016-09-09 00:30:45
阅读次数:
272
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:public class InitialOrderTest {// 静态变量public static String stati ...
分类:
编程语言 时间:
2016-08-14 07:19:12
阅读次数:
177