• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メソッド宣言内でクラス名が書かれる理由)

メソッド宣言内でクラス名が書かれる理由

このQ&Aのポイント
  • メソッド宣言内に書かれるStringは、標準クラスの1つであるためです。
  • Stringがメソッド宣言の中に書かれる理由は、メソッドがどのクラスに属するかを明示するためです。
  • メソッド宣言とは、プログラム内でメソッドの存在や役割を宣言することを意味します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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(.....) の括弧の中はそのメソッドがどんな引数を得るのか、 ということを表現しているのです。

wanwannakuyo
質問者

お礼

丁重な御回答まことにありがとうございます! 今御回答拝見しました。 今はじっくりみる時間が取れないですが、後半部分の解説がかなり要領を得ていて、且つ身近な具体例で、僕でもわかりそうです! 取り急ぎお礼がしたかったので、お礼させていただきます! まだ詳しくは読んでないので、締め切らないことにします。 もし、読んでいく過程でわからないことがあったら補足させていただきます。 ありがとうございます!