`
Checkmate
  • 浏览: 37544 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中的初始化顺序

    博客分类:
  • JAVA
阅读更多
public class Test
{

    {
        System.out.println("In non-static initialization block!");
    }

    static
    {
        System.out.println("In static initialization block!");
    }


    public Test()
    {
        System.out.println("In Constructor1!");
    }


    public void show()
    {
        System.out.println("In show()!");
    }


    public static void main(String[] args)
    {
        Test ti = new Test();
        ti.show();
    }

}

 

搞不明白,既然已经有了构造函数,为什么还要非静态初始化块呢.....

分享到:
评论
2 楼 Checkmate 2009-06-29  
lirlyliwen 写道
"非静态初始化块"   在对象实例化的时候执行,并且先于构造函数执行,他做的事就是构造函数的事这个在有多个构造函数并且构造函数里的代码有相同的时候,可以把这些构造函数相同的操作集中到"非静态初始化块"中,这样可以避免代码的冗余.再就是用于匿名内部类的"构造函数"


Thanks a lot
1 楼 lirlyliwen 2009-06-27  
"非静态初始化块"   在对象实例化的时候执行,并且先于构造函数执行,他做的事就是构造函数的事这个在有多个构造函数并且构造函数里的代码有相同的时候,可以把这些构造函数相同的操作集中到"非静态初始化块"中,这样可以避免代码的冗余.再就是用于匿名内部类的"构造函数"

相关推荐

Global site tag (gtag.js) - Google Analytics