public static void main(String[] args) - Java メイン メソッド
序章
Java main
メソッドは、Java プログラムを実行するためのエントリ ポイントであるため、通常、Java でプログラミングを開始するときに最初に学ぶメソッドです。 main
メソッドには、他のメソッドを実行または呼び出すコードを含めることができ、プログラムの一部である任意のクラスに配置できます。通常、より複雑なプログラムには、main
メソッドのみを含むクラスがあります。 main
メソッドを含むクラスには任意の名前を付けることができますが、通常はクラス Main
を呼び出すだけです。
次の例では、main
メソッドを含むクラスは Test
と呼ばれます。
public class Test {
public static void main(String[] args){
System.out.println("Hello, World!");
}
}
この記事では、 main
メソッドの各コンポーネントが何を意味するかを学びます。
Java メイン メソッドの構文
main
メソッドの構文は常に次のとおりです。
public static void main(String[] args){
// some code
}
String
配列引数の名前のみを変更できます。たとえば、args
を myStringArgs
に変更できます。 String
配列引数は、String... args
または String args[]
として記述できます。
公共
JRE がこのメソッドにアクセスして実行できるように、main
メソッドのアクセス修飾子は public
である必要があります。メソッドが公開されていない場合、アクセスは制限されます。次のコード例では、main
メソッドに public
アクセス修飾子がありません。
public class Test {
static void main(String[] args){
System.out.println("Hello, World!");
}
}
プログラムをコンパイルして実行すると、main
メソッドが公開されておらず、JRE がそれを見つけられないため、次のエラーが発生します。
- javac Test.java
- java Test
OutputError: Main method not found in class Test, please define the `main` method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
静的
Java プログラムの開始時には、クラスのオブジェクトは存在しません。 JVM がクラスをメモリにロードし、クラスのインスタンスを作成せずに main
メソッドを呼び出すことができるように、main
メソッドは static
である必要があります。初め。次のコード例では、main
メソッドに static
修飾子がありません。
public class Test {
public void main(String[] args){
System.out.println("Hello, World!");
}
}
プログラムをコンパイルして実行すると、main
メソッドが static
ではないため、次のエラーが発生します。
- javac Test.java
- java Test
OutputError: Main method is not static in class Test, please define the `main` method as:
public static void main(String[] args)
空所
すべての Java メソッドは、戻り値の型を提供する必要があります。 Java main
メソッドの戻り値の型は、何も返さないため void
です。 main
メソッドの実行が終了すると、Java プログラムは終了するため、オブジェクトを返す必要はありません。次のコード例では、main
メソッドは、戻り値の型が void
の場合に何かを返そうとします:
public class Test {
public static void main(String[] args){
return 0;
}
}
プログラムをコンパイルすると、戻り値の型が void
の場合、Java は戻り値を予期しないため、次のエラーが発生します。
- javac Test.java
OutputTest.java:5: error: incompatible types: unexpected return value
return 0;
^
1 error
主要
Java main
メソッドは、常に main
という名前です。 Java プログラムが開始すると、常に main
メソッドを探します。次のコード例は、myMain
に名前が変更された main
メソッドを示しています。
public class Test {
public static void myMain(String[] args){
System.out.println("Hello, World!");
}
}
プログラムをコンパイルして実行すると、JRE がクラスで main
メソッドを見つけられないため、次のエラーが発生します。
- javac Test.java
- java Test
OutputError: Main method not found in class Test, please define the `main` method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
文字列[]引数
Java main
メソッドは、タイプ String
配列の単一の引数を受け入れます。配列内の各文字列は、コマンド ライン引数です。コマンドライン引数を使用して、実行時にプログラムの動作に影響を与えたり、情報をプログラムに渡したりできます。次のコード例は、プログラムの実行時に入力したコマンド ライン引数を出力する方法を示しています。
public class Test {
public static void main(String[] args){
for(String s : args){
System.out.println(s);
}
}
}
プログラムをコンパイルし、いくつかのコマンド ライン引数をスペースで区切って実行すると、引数がターミナルに表示されます。
- javac Test.java
- java Test 1 2 3 "Testing the main method"
Output1
2
3
Testing the main method
結論
この記事では、Java の main
メソッドの各コンポーネントについて学びました。より多くの Java チュートリアルで学習を続けてください。