Java
 Computer >> コンピューター >  >> プログラミング >> Java

mainメソッドなしでJavaプログラムを実行できますか?


はい、静的ブロックを使用することで、mainメソッドなしでJavaプログラムを実行できます。

Javaの静的ブロックは、クラスがJava ClassLoaderによってメモリにロードされたときに一度だけ実行されるステートメントのグループです。これは、静的初期化ブロックとも呼ばれます。静的初期化ブロックはスタックメモリに直接入ります。

class StaticInitializationBlock{
   static{
      System.out.println("class without a main method");
      System.exit(0);
   }
}

上記の例では、mainメソッドなしでJavaプログラムを実行できます(Java 1.6バージョンまで機能します)。 Java 7以降のバージョンでは、JVMがクラスを初期化する前にメインメソッドの存在をチェックするため、これは許可されていません。

出力

class without a main method.

  1. Javaでpack()メソッドを使用できるのはいつですか?

    pack() メソッドはウィンドウで定義されています Javaのクラスであり、すべてのコンテンツが適切なサイズ以上になるようにフレームのサイズを設定します。 pack()の代替 メソッドは、 setSize()を呼び出して、フレームサイズを明示的に確立することです。 またはsetBounds() メソッド。通常、 pack()を使用します setSize()よりもメソッドを呼び出す方が望ましい パックはフレームレイアウトマネージャーにフレームサイズを任せ、レイアウトマネージャーはプラットフォームの依存関係やコンポーネントサイズに影響を与えるその他の要因にうまく適応できるためです。 構文 p

  2. JavaでinvokeLater()メソッドを呼び出すにはどうすればよいですか?

    invokeLater() メソッドは静的です SwingUtilitiesのメソッド クラスであり、タスクを非同期に実行するために使用できます。 AWT イベントディスパッチャスレッド 。 SwingUtilities.invokeLater() メソッドはSwingUtilities.invokeAndWait()のように機能します ただし、リクエストはイベントキューに配置されます そしてすぐに戻る 。 invokeLater() メソッドは、実行可能内のコードのブロックを待機しません ターゲットによって参照されます 実行します。 構文 public static void in