Java静态代码块,扫盲贴

一个类可以使用不包含在任何方法体中的静态代码块。当类被载入时,静态代码块被执行,且只执行一次。导致类被载入的操作包括:使用任何类的静态属性或方法,新建类的对象(声明类的对象不会导致静态代码块被执行)。静态代码块经常用来进行类属性的初始化。请看下面的测试:

class Person
{
    public Person()
    {
        System.out.println("1.public Person()");
    }
    
    static
    {
        System.out.println("2.Person 类的静态代码块被调用!");
    }
}

public class TestStaticDemo5
{
    static
    {
        System.out.println("3.TestStaticDemo5 类的静态代码块被调用!");
    }
    
    public static void main(String args[])
    {
        System.out.println("4. 程序开始执行!");
        new Person();
        new Person();
    }
}

将以上代码保存为文件TestStaticDemo5.java。“javac TestStaticDemo5.java” 编译后执行 “java TestStaticDemo5”,打印如下:

3.TestStaticDemo5 类的静态代码块被调用!
4. 程序开始执行!
2.Person 类的静态代码块被调用!
1.public Person()
1.public Person()

posted @ 2014-11-25 16:45  鞋匠  阅读(159)  评论(0编辑  收藏  举报