2016-12-01 6 views
-4

をint型することができ、私は方法は、Javaでは、私は、フロートと過負荷と

void mymethod(float val) {} 

と別の1

void mymethod (int val) {} 

を持つようにしたい場合は、私はmymethod (1.2)を呼び出すとき、それは正確に最初のものがある検出します電話するのは正しい?インライン数値のリテラル1.2がデフォルトでdoubleに格納されているので

+2

あなたはこれを試してみました:ので、あなたのケースでは

は、mymethod()方法が過負荷になっていますか? – namingFailed

+2

[floatが1つのメソッドのパラメータとして、もう1つがdouble paramを持つオーバーロードメソッドにint引数を渡すとどうなりますか?](http://stackoverflow.com/questions/24279680/what-happens-when-we -pass-int-arguments-to-the-overloading-method-having-float-a) – Zia

+0

[オーバーライド対オーバーロード]を参照してください(http://stackoverflow.com/questions/12374399/what-is-the-difference-メソッド間のオーバーロードとオーバーライド) – PeterMmm

答えて

0

mymethod(1.2)mymethod(double d)方法を探します。

あなたが書く必要があります。この場合mymethod(1.2F)

を、オーバーロードが動作するとmymethod(float val)が呼び出されます。

オーバーロードでは、同じ名前で異なるパラメータを持つ複数のメソッドに名前を付けることができます。コンパイル時に、コンパイラは有効なパラメータと一致するメソッドを選択します。

void mymethod(float val) {} 
void mymethod(int val) {} 
+0

これで試してみます –

関連する問題