Java千百問_03基礎文法(016)mainメソッドは何ですか?


クリックしてその他Java千百問
1、mainの方法は何ですか
クラスにはmain()メソッドがあり、実行中のプログラム(オペレーティングシステムにjdkまたはjreがインストールされている)を直接起動できるjavaアプリケーションであることを示します.非抽象クラス/インタフェースのいずれかにmain()メソッドを追加できます.
抽象クラス、インタフェースを理解するここを見てください:インタフェースと抽象クラスの違いjavaの仕様では、main()メソッドの宣言は次のとおりです.
public static void main(String args[]){

}

Java実行ツールでクラスを実行する場合:javaクラス名、jreはクラス内のmain()メソッドを実行します.このJavaアプリケーションを実行するときは、まずmainメソッドが呼び出されます.mainメソッドはpublic staticなので、このクラスのオブジェクトをインスタンス化せずにクラス名で直接呼び出されます.
public、privateを理解するここを見てください:public、privite、protectedの違いmainには以下の点に注意する必要があります.
  • javaのmainメソッドでは、仕様のmainの戻り値タイプがvoidであるため、mainメソッドに戻り値はありません.
  • mainメソッドの入力パラメータで、タイプはString[]で、仕様のmain()メソッドにはString[]を参照する必要があります.もちろん、パラメータの名前は自分で設定できます.慣習によれば、この文字列配列の名前は一般的に仕様例のmianパラメータ名と一致し、argsと名付けられる.
  • main(String[]args)メソッドのパラメータargsは、実行時に指定できます.たとえば、java TestMain 1 2 3の場合、argsは[1,2,3]です.
  • mainメソッドではthrows Exceptionで放出例外を宣言できますが、例外が発生した場合は実行ツールに直接放出されます(実行ツールでは通常consoleにエラーログが印刷されます).
  • mainメソッドを持つクラスは、通常のクラスと同様に、mainを実行する前にクラスの静的コードブロックstatic{}を実行します.

  • 上記の点の一例について説明します.
    public class TestMain {
    
        static {
            System.out.println("Hello Wordld");
        }
    
        public static void main(String[] args) throws Exception {
            if (args.length > 0) {
                for (String arg : args) {
                    System.out.println("args:" + arg);
                }
            }
            if (args.length <= 0) {
                throw new Exception("Exception");
            }
        }
    }

    Java TestMainの実行結果は次のとおりです.
    Hello Wordld Exception in thread “main” java.lang.Exception: Exception at com.test.TestMain.main(TestMain.java:16)
    「Java TestMain 1 2 3」の実行結果は次のとおりです.
    Hello Wordld args:1 args:2 args:3