Recently I was going through a page on javarevisited and found a block of code which asked the readers to determine what would be the output for it...
Though I got the output I am not satisfied with the result (WHICH CAME OUT TO BE "Hello") since I don't know how a static member is accessed from a null reference. What's happening in the background?
public class StaticDEMO {
    private static String GREET = "Hello";
    public static void main(String[] args) {
        StaticDEMO demo = null;
        System.out.println(demo.GREET);
        // TODO code application logic here
    }
}