Java アプリケーションの出発点 (常にではありません) は、このメソッドです。
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
これを行うjava className
と、クラスにメイン メソッドがあるかどうかが確認されます。静的であるため、インスタンスを作成せずに呼び出すことができます。
メイン メソッドがない場合、またはメイン メソッドは存在するが同じ署名がない場合は、RuntimeException
メイン メソッドが見つからないことを示すメッセージがスローされます。
メインメソッドの詳細を読むことを忘れないでください。
オフトピック:
同じ考え方を拡張すると、静的メソッドとフィールドを参照するためにクラスのインスタンスは必要ありません。
public class MyClass {
public static int NUMBER = 10;
public static void String sayHello(){
return "Hello";
}
public void String sayBye(){
return "Bye";
}
public static void main(String[] args){
System.out.println(NUMBER); // No need for object
System.out.println(sayHello()); // No need for object
System.out.println(new MyClass().sayBye()); // sayBye is not accessible at class level have to have an object of MyClass to access sayBye
}
}
同じものが他のクラスで呼び出された場合、次のようになります。
public class MyClassCaller {
public static void main(String[] args){
System.out.println(MyClass.NUMBER); // No need for object just refer the class
System.out.println(MyClass.sayHello()); // No need for object just refer the class
System.out.println(new MyClass().sayBye()); // sayBye is not accessible at class level have to have an object of MyClass to access sayBye
}
}
静的メソッドの使用法/過剰使用に関する素晴らしい議論