• 締切済み

メインメソッドの記述について

メインメソッドを記述する際に、   public static void main(String[] args){     ~~~~~~~~~~~~~   } と書くと思いますが、なぜpublicを付けなければならないのでしょうか? 簡単に考えるために、1つのクラスのみで実行してみたのですがやはりpublicをつけないとエラーになってしまします。 1つのクラスしかないので、どこからも参照されないからpublicでなくても良いと思ったのですが・・・ ちなみに以下の様なとても簡単なもので考えました。 class E_1{ static void main(String[] args){ System.out.println("実験です"); } }

みんなの回答

回答No.2

補足すると、このクラスを実行するJavaから、mainメソッドが見えなければいけないからですね。

  • e3tatsu
  • ベストアンサー率51% (78/151)
回答No.1

正確に言えば、"そういう決まり事(規則)だから"というのが解答となるのですが、 それでは質問者様も納得できないと思われますので、 このように考えてはいかがでしょうか? 質問者様は"どこからも参照されないからpublicでなくても良い"とお考えのようですが、本当にそうでしょうか? では、どうして誰も参照しないはずのメソッドを実行できるのでしょうか? mainメソッドを実行できているということは誰かが参照しているということにはならないでしょうか? その誰かのためにpublicとしていると考えれば納得できるのではないでしょうか。

KEN0625
質問者

お礼

回答ありがとうございます。 確かにそう考えると納得がいきますね。 根本的なことでしたが、すっきり致しました。