本文介绍了为什么这个Java代码在花括号({})之外的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正准备参加java认证考试,我在其中一项练习测试中看到了类似的代码:

I am getting ready for a java certification exam and I have seen code LIKE this in one of the practice tests:

class Foo {
    int x = 1;
    public static void main(String [] args) {
        int x = 2;
        Foo f = new Foo();
        f.whatever();
    }
    { x += x; }  // <-- what's up with this?
    void whatever() {
        ++x;
        System.out.println(x);
    }
}

我的问题是......编写是否有效方法外的花括号中的代码?这些(如果有的话)有什么影响?

My question is ... Is it valid to write code in curly braces outside a method? What are the effects of these (if any)?

推荐答案

借用 -

{
    // whatever code is needed for initialization goes here
}

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

The Java compiler copies initializer blocks into every constructor. Therefore, this approach can be used to share a block of code between multiple constructors.

您可能还想查看讨论。

这篇关于为什么这个Java代码在花括号({})之外的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 18:39