¿Por qué no estoy recibiendo NullPointerException? [duplicar]
Posible duplicado:
Campos estáticos en una referencia nula en Java
Entiendo que los métodos estáticos están en el nivel de clase. Por lo tanto, soy consciente de que no necesito crear una instancia para llamar a métodos estáticos. Pero también soy consciente de que puedo llamar al método estático LIKE un método de instancia. Aquí es donde estoy confundido, porque esperaba unNullPointerException
al llamar al método estático desde el objeto nulo (como en el método de instancia de llamada). Realmente agradecería alguna explicación sobre por qué me equivoqué al esperar unNullPointerException
aquí.
Aquí está el código de ejemplo:
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
}
}