Dlaczego nie otrzymuję NullPointerException? [duplikować]

Możliwy duplikat:
Pola statyczne na pustym odwołaniu w Javie

Rozumiem, że metody statyczne są na poziomie klasy. Wiem więc, że nie muszę tworzyć instancji, aby wywoływać metody statyczne. Ale wiem też, że mogę nazwać metodę statyczną LIKE metodą instancji. W tym miejscu jestem zdezorientowany, ponieważ oczekiwałemNullPointerException podczas wywoływania metody statycznej z obiektu zerowego (jak w wywołaniu metody instancji). Naprawdę doceniłbym wyjaśnienie, dlaczego niesłusznie oczekiwałemNullPointerException tutaj.

Oto przykładowy kod:

public class SampleClass {

    public static int getSumStatic(int x, int y){
        return x+y;
    }

    public int getDifferenceInstance(int x, int y){
        return x-y;
    }
}

public class TestClass {

    public static void main (String[] args){        
    SampleClass sc=null;

    System.out.println(SampleClass.getSumStatic(2, 2)); //as expected

    //I was expecting NullPointerException in the next line, since I am accessing null object
    System.out.println(sc.getSumStatic(4,5)); //static method , executes perfectly  

    System.out.println(sc.getDifferenceInstance(6,4));//throws NullPointerException
    }
}

questionAnswers(6)

yourAnswerToTheQuestion