Warum erhalte ich keine NullPointerException? [Duplikat]

Mögliche Duplikate:
Statische Felder in einer Nullreferenz in Java

Ich verstehe, dass statische Methoden auf Klassenebene sind. Daher ist mir bewusst, dass ich keine Instanz erstellen muss, um statische Methoden aufzurufen. Mir ist aber auch bewusst, dass ich die statische Methode WIE eine Instanzmethode aufrufen kann. Hier bin ich verwirrt, weil ich a erwartet habeNullPointerException beim Aufruf der statischen Methode aus dem Null-Objekt (wie beim Aufruf der Instanzmethode). Ich würde mich sehr über eine Erklärung darüber freuen, warum ich falsch lag, a zu erwartenNullPointerException Hier.

Hier ist der Beispielcode:

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
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage