public static void main(String arg[]){

上記は、メソッド宣言ですが、このメソッド宣言の中に書かれているStringは、「標準クラスの1つ」だと聞いています。(標準クラスの意味さえ僕はわかりませんが、、参考書に書かれてあるのを見てもチンプンカンプン)

何故Stringは標準クラスの1つなのに、メソッド宣言の中に書かれているんですか?

質問1:私の仮説では、メソッドがどこのクラスに属するかを明示するためにメソッド宣言内にStringが書かれていると考えてます。それでよろしいですか?

質問2:メソッド宣言とは本質的にどういうことですか?プログラミング初心者の僕でもわかるように解説お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

public static void main(String arg[]){



は、main というメソッドを定義し、
そのmainメソッドは Stringクラスのインスタンスの配列を引数として得る、
ということを示しています。

( ) の中はそのメソッドが呼ばれたときに受け取る引数を定義しています。

main はすこし特殊で、実際には、この場合は
C:> java program a b c d
と実行されたときに
arg[0] = "a"
arg[1] = "b"
arg[2] = "c"
arg[3] = "d"
と代入されます。
これをmainメソッド内で使うわけですね。

質問1:
ですので、その仮説はまちがってます。
class SampleClass {
public int func(int x, int y) {
return x + y;
}
}
と書いてあったとすれば
メソッド func が クラス SampleClass に属することになります。
そして メソッド func は 引数として x と y を受け取ることになります。

まぁ、つまり、質問者様は 引数 という概念をまだ知らないだけ
ということです。

質問2:
たぶん、他のプログラミング言語もご存知ないのでしょう。
メソッドとは、そのクラス、またはクラスより作られたインスタンス(オブジェクト)
に対する操作である・・・
と、ではわかりませんよね?

人 というクラスを作ったとします。
人クラスから実際のオブジェクトの山田太郎を作りました。
人 山田太郎 = new 人("山田太郎");

山田太郎さんに名前を聞いてみましょう。

山田太郎.名前を教えて();

この"名前を教えて"の部分がメソッドになります。

多少御幣はありますが、
要は
そのクラス、またはオブジェクトに対する操作(命令)がメソッドです。
その命令を作ることがメソッドの宣言です。

命令には補助的な情報が必要な場合があります。

山田太郎.行け("学校");

というふうに行けという命令に、具体的にどこへ、という補助的な情報が必要ですよね。
この"学校"の部分が 引数 というものになります。

main(.....)
の括弧の中はそのメソッドがどんな引数を得るのか、
ということを表現しているのです。
    • good
    • 0
この回答へのお礼

丁重な御回答まことにありがとうございます!

今御回答拝見しました。
今はじっくりみる時間が取れないですが、後半部分の解説がかなり要領を得ていて、且つ身近な具体例で、僕でもわかりそうです!
取り急ぎお礼がしたかったので、お礼させていただきます!

まだ詳しくは読んでないので、締め切らないことにします。
もし、読んでいく過程でわからないことがあったら補足させていただきます。

ありがとうございます!

お礼日時:2011/04/15 22:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング