2

Javaプログラムで実行する"Hello"前でも印刷したい。main()これを行う方法はありますか?

4

8 に答える 8

9

必要なのはstaticキーワードです。オプションの 1 つは、静的関数を静的変数の初期化子として使用することです。

class Main {
  public static int value = printHello();
  public static int printHello() { 
    System.out.println("Hello"); 
    return 0;
  }
  public static void main(String[] args) {
    System.out.println("Main started");
  }
}

valuemain関数の実行前に初期化される静的変数です。このプログラムは以下を出力します。

Hello
Main started

printHello()さらに、次のように変数を初期化せずに呼び出すことで、これを単純化することもできます。

static {
  printHello();
}
于 2013-09-21T14:20:01.403 に答える
4

静的ブロックを使用します。

static {
    System.out.println("hello");
}

public static void main(String[]args) {
    System.out.println("After hello");
}

出力:

hello
after hello
于 2013-09-21T14:20:48.970 に答える
1

静的ブロックの使用とは別に、インストルメンテーションとプリメインを試すこともできます

http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html

于 2013-09-21T15:37:55.180 に答える