ich mit Konzept überrascht, warum dieser Code funktioniert, wenn es muss im Idealfall Null-Zeiger AusnahmeWarum statische Methode in einer Klasse nicht Null-Zeiger-Ausnahme geben, wenn sein Objekt null ist
public class Test {
public static String foo(){
System.out.println("Test foo called");
return "";
}
public static void main(String args[]){
Test obj = null;
System.out.println(obj.foo());
}
}
Da eine statische Methode keine Instanz muss aufgerufen werden. Es ist an die Klasse gebunden, nicht an irgendeine Instanz. Das heißt, eine statische Methode für eine Instanz aufzurufen, ist eine schlechte Übung, und noch mehr, wenn die Instanz null ist. –
http://stackoverflow.com/questions/24800309/can-we-call-static-method-with-null-object-in-java-if-yes-how ist kein genaues Duplikat, aber es hat eine Menge Gute Antworten für deine Frage. – Lalaland
@Lalaland: Eigentlich ist das * ein passendes Duplikat. Gute Augen, es zu finden. – Makoto