- - PR -
オーバロード
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-08 11:20
お世話になります。
メソッドのオーバロードを行う際、一方の引数が他方の引数の親クラスや インターフェースだった場合の動きは言語仕様上決められているのでしょうか? 例えば、 (1) public String method(List list); (2) public String method(ArrayList lit); という2つのメソッドが定義されていた場合、 str = method(new ArrayList()); の場合は (2) が呼ばれ、 str = method(new LinkedList()); の場合は (1) が呼ばれることが決まっていますか? 試してみたところ、Sun jdk1.3.1 ではメソッド定義の順序に 関係なく上記の動きとなるようですが、言語仕様上の記載が 見つけられませんでした。 よろしくお願いします。 |
|
投稿日時: 2005-03-08 11:50
はい。決められています。
Java言語規定 第2版「15.12.2.2 最も特殊なメソッドの選択」ですね。 |
1