重複の可能性:
Java の null 参照の静的フィールド
静的メソッドはクラス レベルであることを理解しています。したがって、静的メソッドを呼び出すためにインスタンスを作成する必要がないことを認識しています。しかし、静的メソッドをインスタンス メソッドのように呼び出すことができることも認識しています。NullPointerException
nullオブジェクトから静的メソッドを呼び出す間(インスタンスメソッドの呼び出しのように)を期待していたので、これは私が混乱している場所です。ここで期待するのが間違っていた理由について、いくつか説明していただければ幸いNullPointerException
です。
サンプルコードは次のとおりです。
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
}
}