Эта концепция противоречит концепции class
и ее экземпляра.Запрос на скрытие поля в java
Ниже программа, которая выглядит хорошо для меня и дает NullPointerException
, как ожидалось:
class SuperClass{
int x = 2;
}
class SubClass extends SuperClass{
int x = 4;
}
public class Dummy2 {
public static void main(String[] args){
SubClass obj1 = new SubClass();
SuperClass obj2 = null;
System.out.println(obj1.x);
System.out.println(obj2.x);
}
}
Но когда я говорю SuperClass obj2 = obj1;
странно я вижу значение стоимости члена SuperClass
экземпляра 2
, несмотря нет ни одного примера class SuperClass
, созданный в вышеуказанной программе.
Действительно ли это действующая концепция на Java?
Как вы можете получить доступ к полю того, что не существует ('null')? – August