众所周知,在java程序中,声明变量就要进行初始化,但是在类中,不用进行初始化。我们一般是先对属性进行封装,然后用类的构造函数进行初始话。class的初始化次序取决于属性的定义次序,也许属性会散落在class中的各个位置,但是,所有的属性一定会在任何一个方法(包括构造方法)调用之前,完成初始化。
案例:
//本程序要实现的是初始化的学习,在类中,变量会在方法调用之前完成所有的初始化工作
public class Initialization
{
public static void main(String[] args)
{
Card t = new Card();
t.f();
}
}
class Tag
{
//构造方法
Tag(int i)
{
System.out.println("Tag(" + i + ")");
}
}
class Card
{
Tag t1 = new Tag(1);
//构造方法
Card()
{
System.out.println("Card()");
Tag t3 = new Tag(3);
}
public void f()
{
System.out.println("f()");
}
Tag t2 = new Tag(2);
}
结果
下面用图进行描述这一过程:
以上就说明了这个问题,希望对初始化学习有所帮助。