Java - 我们可以从初始化程序中返回吗?

时间:2014-09-24 16:13:02

标签: java jls

为什么静态初始值设定项不能有多个退出点? Java语言规范是否如此陈述?

尝试将代码编译为:

class HelloWorldApp {
    static {
        if(1 > 2)
          return;
        System.out.println("static"); 
    }

    public static void main(String[] args) {
        System.out.println("Hello World!"); 
    }
}

编译器会输出错误:return outside method

使用javap进行Java反汇编表明static是一个void方法,理论上是否可以创建一个具有多个“返回”的字节码?

1 个答案:

答案 0 :(得分:5)

JLS声明return初始值设定项中的static语句非法here