Javaでのメソッドのオーバーロードと型の昇格
メソッドのオーバーロードは、同じ名前の複数のメソッドを作成して、異なるタイプのパラメーターに対して同様のアクションを実行するのに役立ちます。
変数が類似したタイプの場合は、タイププロモーションを使用できます。タイププロモーションは、低い範囲の値を高い範囲の値に自動的にプロモートします。たとえば、バイト変数をint変数に割り当てることができます。ここで、バイト変数はintに型昇格されます。バイト、ショート、または整数の2つの数値を追加する場合は、単一のメソッドを使用できます。以下の例を参照してください-
例
public class Tester { public static void main(String args[]) { Tester tester = new Tester(); byte a = 1, b= 2; short c = 1, d = 2; int e = 1, f = 2; System.out.println(tester.add(a, b)); System.out.println(tester.add(c, d)); System.out.println(tester.add(e, f)); } public int add(int a, int b) { return a + b; } }
出力
3 3 3
-
Javaでのメソッドのオーバーロード
メソッドのオーバーロードは、静的ポリモーフィズムの一種です。メソッドのオーバーロードでは、同じ名前で異なるパラメーターを使用して複数のメソッドを定義できます。次のサンプルプログラムについて考えてみます。 例 public class Tester { public static void main(String args[]) { Tester tester = new Tester(); System.out.println(tester.add(1, 2)); &nb
-
Javaの共変リターンタイプとは何ですか?
一般に、オーバーライドでは、スーパークラスとサブクラスのメソッドは同じ名前とパラメーターを持ちます。ただし、型を返す場合、サブクラスのメソッドは、スーパークラスのメソッドの戻り型のサブタイプを返すことができます。 例 次の例を見ると、スーパークラスには demoMethod()という名前のメソッドがあります タイプリストの値を返します。このメソッドをオーバーライドすると、サブクラスのメソッドはリストタイプの値を返すことができます。 (スーパークラスにあります)または、リストのサブタイプを返すこともできます (スーパークラスのメソッドの戻り型)ArrayList、Stack、Vectorなど