Я знаю, что во вложенном классе не было элемента stati c,
class OuterClass {
class InnerClass {
private static int x = 0; // this is error
}
}
Но когда мы объявили его с final
class OuterClass {
class InnerClass {
private static final int x = 0; // ok
}
}
, связано ли оно с последним ключевым словом, потому что переменная не может быть изменена больше? Или есть другая причина для этого?