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