Я наткнулся на некоторые довольно странный код, что я удивлен не вызывает ошибкуСтранный код Выход
public class WeirdCode {
public static int fooField = 42;
public WeirdCode getFoo(){
return null;
}
public static void main(String args[]) {
WeirdCode foo = new WeirdCode();
System.out.println(foo.getFoo().fooField);
}
}
Удивительно, но он печатает 42! Может ли кто-нибудь объяснить?
Что вы ожидали от этого? –
@ReutSharabani Я думал, что это вызовет исключение NullPointerException – Michael
Я думаю, что downvoters действительно не читали код до конца. Это не плохой вопрос. Я, конечно, думал, что это собирается бросить. Спасибо, что позволили мне узнать что-то новое. +1 – sstan