我准备了Java认证考试,我已经在实践检验的一个见过这样的代码:为什么此Java代码在方括号外的大括号({})中?
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);
}
}
我的问题是......它是有效的写在大括号中的代码的方法外?这些(如果有的话)有什么影响?
参见[8.6实例初始值设定(http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.6 )。 – trashgod 2011-05-03 04:43:40
斯蒂芬,它可能因为话题而重复,但我以完全不同的方式得到了这个 – nairdaen 2011-05-03 04:52:02
正如其他人所指出的那样,这是有效的。然而,在你的生活中的某个时候,你会在获得Java认证后进行编程。请不要在日常工作中使用这种结构。请。我讨厌Java认证。它教会了你所有令人不安的错综复杂的,有时是微妙的方式来混淆你的同事和引入错误。 – rfeak 2011-05-03 05:17:20