参考java编程思想...
主要涉及三个方面:1.成员初始化;2.构造器初始化;3.数组初始化。
1. 成员初始化:类的每个基本类型数据成员保证都会有一个初始值。在类里定义一个对象引用时,如果不将其初始化,此引用就会获得一个特殊值null。
输出结果:
a.指定初始化:在定义类成员变量的地方为其赋值。
i.可以初始化非基本类型的对象;
class Depth{ }
public class Measurement{Depth d =new Depth();
}
ii.可以通过调用某个方法来提供初值(具体分析)
iii.也可以带参数,但参数必须是已经被初始化了的(具体分析)
2.构造器初始化: 编译器不会强制一定要在构造器的某个地方或在使用它们之前对元素进行初始化,因为初始化早已得到保证。
a.初始化顺序:在类的内部,变量定义的先后顺序决定了初始化的顺序。
即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。
例如:
b.静态数据的初始化
c.显式的静态初始化
d.非静态实例初始化
3.数组初始化
a.可变参数列表