インタビューで、私は次の質問をしました: static と main を使用せずに、どうすればコンソールにメッセージを出力できますか?それは可能ですか?
8 に答える
メッセージを出力するカスタム クラス ローダーを定義できます。
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
(クラスをパラメーターとして追加する必要はありません)
答えは間違いなく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: メイン
ハイ
スレッド「メイン」での例外
Java は OOP 言語です。
クラスを作成し、それを static main 関数に追加しないと、プログラムを作成できません。
System.out.println
次に、呼び出して行を印刷できます。
したがって、答えはノーです。
syso
おそらく、コードのブロックを常に配置する必要があります。
public class example {
public void message(){
System.out.println("Hello");
}
}
ここでメソッドは静的ではありません
メインメソッドの前に実行される静的ブロックで可能