Например, рассмотрите привязку кода ниже:
public static final int a;
public static final int b;
static {
a = 8; // it working
Test.b = 10; // compilation error Test.b cannot be assigned.
}
Почему мы не можем использовать Test.b = 10;
внутри статического блока самого класса Test
? Без имени класса он отлично работает.
Есть ли причина в этом?