变量的初始化:
1.静态变量只能在类中定义,不能在方法体内定义
2.创建对象过程:先执行静态变量初始化,然后非静态变量,然后执行构造器(包括默认构造器)和其他方法
3.对于含有main方法的主类中,先静态变量初始化,再执行静态方法(main方法),主类中的非静态变量初始化是否执行要看main中是否创建了主类的对象,没有创建就不会执行
数组的初始化:
1.数组元素中的基本类型值会自动初始化成默认值,可以直接使用,而非基本类型值(如类)必须创建对象并赋值给元素引用,否则不能使用数组中的空引用
例如:int[] a=new int[3] (元素已经被初始化)你可以直接使用a[1]等
Integer[] b=new Integer[3](元素只是引用,还没有初始化) 在使用b[1]之前必须先b[1]=new Integer(1)(此时才完成初始化)