я дурачился со статическими членами, я запуталась, когда что-то компилируется, что я не думаю, что должен:Каковы правила для подкласса доступа к статическим членам?
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. Мое понимание заключалось в том, что статическая информация хранится с объявленным классом и не передается в подклассы. Это неправильное предположение, или компилятор делает что-то подлый?
Полезная ссылка http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html. У этого есть симпатичная маленькая таблица, показывающая отношения. –