Я дурачился со статическими членами, я был озадачен, когда что-то скомпилировалось, что я не думаю, что должно:
class ClassA {
static String s = " ";
}
public class ClassB extends ClassA {
private ClassB() {
s = "I feel like this shouldn't be possible.";
}
public static void main (String[] args) {
new ClassB();
System.out.println(s);
}
}
Я не понимаю, как ClassB может получить доступ к статическому члену в ClassA.Насколько я понимаю, статическая информация хранится в классе, в котором она объявлена, и не передается в подклассы.Это неверное предположение, или компилятор делает что-то подлое?