質問するログイン新規登録

回答編集履歴

1

Stringの場合を追加

2017/05/21 14:21

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,4 @@
1
- 2に関してですが、次の優先順位になっています。
1
+ 2に関してですが、引数として受け取れないものは呼び出されません。受け取れる物は次の優先順位になっています。
2
2
 
3
3
  型が同じ>暗黙的に型変換されるもの>ラッパークラス>可変長引数
4
4
 
@@ -7,7 +7,10 @@
7
7
  A (int a) {} // 型が同じ
8
8
  A (double a) {} // 暗黙的に型変換されるもの
9
9
  A (Integer a) {} // ラッパークラス
10
+ A (String a) {} // A(100)では呼び出されないもの
10
11
  ```
11
12
  これらに対してA(100)で呼び出しを行なった場合、A (int a)が呼び出されます。
12
13
  A (int a)をコメントアウトした場合、A (double a)が呼び出されます。
13
- A (double a)をコメントアウトした場合、A (Integer a)が呼び出されます。
14
+ A (double a)をコメントアウトした場合、A (Integer a)が呼び出されます。
15
+ A (Integer a)をコメントアウトした場合、コンパイルエラーになります。
16
+ A (String a)の引数はStringであり、100を入れることができないからです。