以下のようなコードがあります。
class Sample {
public static void main(String[] args){
methodA("Hello");
}
}
このコードが実行できるようなmethodAは、
static void methodA(String message){
System.out.println(message);
}
らしいのですが。
一体、どういうことなのか、問題も解答もさっぱりでして…
コードが実行できるメソッドの定義?について、解説いただけないでしょうか。
よろしくお願い致します。
この質問は、メソッドのオーバーロードについての質問です。
「オーバーロード」とは、同じメソッド名でも、その引数(パラメータ)が違うと別のメソッドとして扱われる、ということです。
回答群のうち、(ア) と (エ) は、呼び出している側とパラメータの数や型が違うので、呼び出せません。
引数の数と型が同じ (イ) と (ウ) の選択になるのですが、(ウ) の方は、メソッドの戻り値が String になっていますから、メソッドに return 文がないとコンパイルエラーになります。
というわけで、(イ) が正解になります。
この質問は、メソッドのオーバーロードについての質問です。
「オーバーロード」とは、同じメソッド名でも、その引数(パラメータ)が違うと別のメソッドとして扱われる、ということです。
回答群のうち、(ア) と (エ) は、呼び出している側とパラメータの数や型が違うので、呼び出せません。
引数の数と型が同じ (イ) と (ウ) の選択になるのですが、(ウ) の方は、メソッドの戻り値が String になっていますから、メソッドに return 文がないとコンパイルエラーになります。
というわけで、(イ) が正解になります。
ありがとうございます、理解できました<m(__)m>
戻り値とreturn文、あと(エ)のように呼び出す引数がコンマで区切られているのは初めて見た気がしますので…また学習したいと思います!
ありがとうございます、理解できました<m(__)m>
2019/06/12 20:44:59戻り値とreturn文、あと(エ)のように呼び出す引数がコンマで区切られているのは初めて見た気がしますので…また学習したいと思います!