Когда я Checks.y
статическую переменную y
с помощью Checks.y
(Checks
является подклассом), статический блок не выполняется и значение y
не обновляется.
class Par {
static int y = 4;
}
class Checks extends Par {
static {
y = 5;
}
}
public class Check {
public static void main(String args[]) {
System.out.println(Checks.y); // here printing 4
}
}
Поскольку static является общим для всех подклассов, предполагается, что значение будет обновлено.
Что может быть причиной этого?