- ベストアンサー
違いを教えてください。
JAVA初心者です。勉強しててわからない事がたくさん・・・ まず、public static void main(String args[])と public static void main(String []args) は同じ意味なのでしょうか?そもそも(String args[])の意味がよくわかりません・・・。argsってなんて読んだらいいのでしょうか? あと、extends継承してクラスを使うのと、importでクラスを使うのって意味は同じですか? 最後に、abstract抽象も使い方がよくわかりません。 教えてください!!
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
String args[]と String[] argsは同じになります。 意味はどちらも「argsはStringの配列」となります。 本来はどっちかに統一すべきでした。 論理的整合性から言えばString[] argsの方が望ましい(型名で配列だということがわかる)のですが、 C言語ユーザーにも使いやすいようにString args[](Cだとこの形になる)も使えるようになっているのです。 argsは、部署によって違うかもしれませんが、「あーぐす」と読んでよいと思います。 もともとは"argument"(引数)のことで、Cのころからmainの引数に慣用的に使われる名前でした。 extendでクラスを使うのと、importで使うのでは意味はまったく違います。 どう違うか、と聞かれると、一言では答えにくいのですが。 オブジェクト指向の本を二三冊読んでおくと、当初は意味はわからなくてもだんだんわかってくると思います。 abstractは…、たとえていえばこんな感じです。 工場で、注文に応じていろいろな人形をつくるとします。髪の色が黒や金色や銀色、 目が大きかったり小さかったり。それら色々な人形がサブクラスです。 その人形をつくるもととなる半完成品があります。髪が付いていなく 目が描かれてないものです。これも工場の製品のひとつではあるのですが、 何しろ半完成品なので一般には見られたくない。それでこれは工場の外には出さないこととします。 abstractもそのような感じで、「最終的にはなにかになるのだけど、その時点 ではまだ半完成品で、一人前の働きをしない」ものです。そういうのが オブジェクトになると困るので、abstractをつけてそのままではオブジェクトに できないようにします。
お礼
すっごくわかりやすかったです! 本読むよりぜんぜん理解できました(笑) どうもありがとうございました!