11

インタビューで、私は次の質問をしました: static と main を使用せずに、どうすればコンソールにメッセージを出力できますか?それは可能ですか?

4

8 に答える 8

29

メッセージを出力するカスタム クラス ローダーを定義できます。

public class MyClassLoader extends ClassLoader {
    public MyClassLoader(ClassLoader other) {
         super(other);
         System.out.println("Hi there");
         System.exit(0);
    }
}

次に、java コマンドを実行します。

java -Djava.system.class.loader=MyClassLoader

(クラスをパラメーターとして追加する必要はありません)

于 2013-08-29T08:46:29.867 に答える
0

答えは間違いなくNoです。

少なくとも静的ブロックが必要か、空の main() が必要です。

以下の例を参照してください。

1.

public class ABC {
    static{
             System.out.println("hai");
          }
    public static void main(String[] args) {}
}

出力:

ハイ

2.

public final class ABC {
    static{
             System.out.println("hai");
          }
}

実行中に 'hai' が出力されますが、その後 1 つの例外も発生します。

出力:

java.lang.NoSuchMethodError: メイン

ハイ

スレッド「メイン」での例外

于 2013-08-29T09:21:22.617 に答える
0

Java は OOP 言語です。

クラスを作成し、それを static main 関数に追加しないと、プログラムを作成できません。

System.out.println次に、呼び出して行を印刷できます。

したがって、答えはノーです。

于 2013-08-29T08:19:43.363 に答える
0

sysoおそらく、コードのブロックを常に配置する必要があります。

public class example { public void message(){ System.out.println("Hello"); } }

ここでメソッドは静的ではありません

于 2013-08-29T08:22:30.240 に答える
0

メインメソッドの前に実行される静的ブロックで可能

于 2013-08-29T11:37:05.133 に答える