首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以说非静态块作为类的构造函数吗?

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

Stack Overflow用户
提问于 2015-09-24 07:25:12
回答 1查看 139关注 0票数 1

代码:

代码语言:javascript
复制
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时,将调用非静态块,然后调用该构造函数。

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

终端命令:

代码语言:javascript
复制
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$ 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-24 07:30:23

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

但是,根据Java教程,它内部的代码被复制到每个构造函数中:

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32755651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档