Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

メインメソッド無しでJavaを実行する方法

$
0
0
Javaにメインメソッドってあるじゃん。public static void main(string[] args){;}でお馴染みのアレです。 Javaを実行するには、javaコマンドの引数に.classファイルのファイル名を指定するよね。んで、その.classファイルにメインメソッドを含んでいる必要があって、Javaを実行するにはメインメソッドが必須だそうです。このように、参考書やWEBなどあちこちに書いてあります。 しかし、メインメソッド必須というのは、厳密には間違いなんだそうです。メインメソッドが無くてもJavaを動かす裏ワザがあると、↓のブログに書いてありました。(基本はメインメソッドだとは思うのですが) http://blogs.wankuma.com/kacchan6/archive/2007/07/24/86663.aspx ここにプログラムがザックリ書いてあったのですが、本当に動くんですか? public class MimeticMain{ static boolean init = caller(); public static boolean caller(){ System.out.println("main()が無くても動く"); return true; } } -- これを動かすと、「main()が無くても動く」と表示するんですかね。私がやると、エラーになっちゃったのですが。 エラー: メイン・メソッドがクラスMimeticMainで見つかりません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args) ーー あと、staticイニシャライザーを使うと、メインメソッドが無くても動くと、冒頭に書いてあります。自分なりに調べて書いてみたんですが、エラーですね。 public class MimeticMain{ public static void mMain(){System.out.println("main()が無くても動く");} static{mMain();} } メインメソッドが無くても動くって、本当?そのコードを書けますか?10行50ワード以下の簡単なプログラムで良いと思いますが。 2007年のブログらしく、当時の古いバージョンのJavaならば動くのかしら?Javaも仕様がどんどん変わっていて、バージョンアップするとメインメソッド必須になったのかしら?

Viewing all articles
Browse latest Browse all 2439

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>