I came across some rather strange code that surprises me, does not cause an error
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); } }
Surprisingly, it prints 42! Can someone explain?
source share