Java类的初始化1

来源:互联网 发布:网络推广加盟 编辑:程序博客网 时间:2024/05/02 01:55

1、类中的属性是按照先初始化static变量然后,顺序依次初始化其它非静态的:

class Test{    public static void main(String[]args)    {        NoName noName=new NoName();         System.out.println("-----------------------------");        NoName noName1=new NoName();    }}class T{    T(int order){        System.out.println("order: "+order);    }}class NoName{    T t1=new T(1);    NoName(){        System.out.println("Noname");        t3=new T(33);    }    T t2=new T(2);    void f(){        System.out.println("f()");    }    T t3=new T(3);    static T t4=new T(4);}

输出结果:

order: 4order: 1order: 2order: 3Nonameorder: 33-----------------------------order: 1order: 2order: 3Nonameorder: 33Process finished with exit code 0

说明:这里先初始化t4,并且只是被初始化了一次,然后t1、t2、t3是依次初始化, 并且t3被初始化了4次,分两次定义NoName的变量时,每次中第一次是在调用构造函数之前, 第二次是调用构造函数的时候。
2、无论创建多少对象同一个static变量只会被创建一次

0 0