У меня есть следующий фрагмент кода, который взят из макета экзамена Sun Certified Java Programmer:Java статические обзорное
public class Static
{
static
{
int x = 5;
}
static int x,y;
public static void main(String args[])
{
x--; myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}
Тест просит Вас за результат этой линии:
System.out.println(x + y + ++x);
ответ 3, но я не совсем понимаю, почему это 3. Я могу прийти в этот ответ, если я полностью игнорировать:
static
{
int x = 5;
}
Мой вопрос: в чем смысл приведенного выше фрагмента кода? Почему это не меняет значение переменной x?
@anonymous, спасибо я понял , Он ограничен, поэтому переменная не существует после области действия. – czchlong