静的メソッドがコンパイル時に解決される場合、オブジェクトインスタンスはどのようにして静的メソッドを呼び出すことができますか?
class StaticCall
{
public static void main(String[] args)
{
String arr[]={"Class StaticCall","calls static method of class MyMainClass"};
MyMainClass h=new MyMainClass();
h.main(arr); //How is an instance able to call a static method?
System.out.println("this is StaticCall main");
}
}
class MyMainClass
{
public static void main(String[] args){
System.out.println(args[0]+" "+ args[1]);
}
}
StaticCallクラスを実行した後、出力は次のようになります。
クラスStaticCallは、クラスMyMainClassの静的メソッドを呼び出します
これはStaticCallメインです
静的フィールドとメソッドはClassオブジェクトに属しているため、インスタンスはどのようにして静的メソッドを呼び出すことができますか?また、Classオブジェクトはいつ作成されますか、それはそのフィールドまたはメソッドのいずれかに最初にアクセスしたときですか?