我们可以说非静态块作为类的构造函数吗?

时间:2015-09-24 07:25:13

标签: java constructor

代码:

class VI{
    {
        System.out.println("Non static block called");
    }
    VI()
    { 
        System.out.println("Constructor block called");
    }
    public static void main(String a[])
    {
        VI v=new VI();
    }
}

代码片段再次包含类,它由非静态块和构造函数组成。

因此,当创建类的obejct时,将调用非静态块,然后调用该构造函数。

那么,我们可以说非静态块作为类的构造函数吗?

终端命令:

vivek@ubuntu:~/Prime_project/python-SLR-parser$ javac VI.java 
vivek@ubuntu:~/Prime_project/python-SLR-parser$ java VI
Non static block called
Constructor block called
vivek@ubuntu:~/Prime_project/python-SLR-parser$ 

1 个答案:

答案 0 :(得分:4)

不,初始化块不是构造函数。

但是,根据jQuery.ajax

,其中的代码被复制到每个构造函数中
  

Java编译器将初始化程序块复制到每个构造函数中。因此,此方法可用于在多个构造函数之间共享代码块。