ПЕРЕГРУЗКА МЕТОДОВ В JAVA

Класс, имеющий несколько методов с одинаковыми именами, но разными параметрами, называется перегрузкой методов.

Существует три способа перегрузки метода.

1. Параметры с разными типами данных

12

myMethod(int a)myMethod(String a)

<р>2. Параметры с разной последовательностью типов данных

12

myMethod(int a, String b )myMethod(строка a, int b)

3. Разное количество параметров

12

myMethod(int a)myMethod(int a, int b)< /table>

Ранее мы видели сигнатуру метода. Во время компиляции Java знает, какой метод вызывать, проверяя сигнатуры методов. Это называется полиморфизмом времени компиляции или статической привязкой.

Давайте рассмотрим несколько практических примеров для лучшего понимания.

1. Параметры с разными типами данных

12345678910111213141516171819202122

метод пакетаOverloadingDiffDataTypes; открытый класс MethodOverloadingDiffDataTypes { public void methodOne(int a){        System.out.println(a); }    public void methodOne(String a)    {       System.out.println(a); }public static void main(String[] args) { MethodOverloadingDiffDataTypes obj = new MethodOverloadingDiffDataTypes();obj.methodOne(10);obj.methodOne(“Я строка”);}}

Вывод:

12

10Я строка

2. Параметры с различной последовательностью типов данных

12345678910111213141516171819202122

метод пакетаOverloadingDiffSequenceDataTypes; открытый класс MethodOverloadingDiffSeqDataTypes { public void methodOne(int a, String b){        System.out.println(b); }    public void methodOne(String a, int b)    {       System.out.println(a); }public static void main(String[] args) { MethodOverloadingDiffSeqDataTypes obj = new MethodOverloadingDiffSeqDataTypes();obj.methodOne(1, “Int and String”);obj.methodOne(“String and Int”, 2);}}

Вывод:

12

Int и StringString и Int

3. Разное количество параметров

12345678910111213141516171819202122

package methodOverloadingDiffNumberParameters; public class MethodOverloadingDiffParameters { public void methodOne(int a){        System.out.println(“Метод с одним аргументом”); }    public void methodOne(int a, int b)    {       System.out.println(“Метод с несколькими аргументами”); }public static void main(String[] args) { MethodOverloadingDiffParameters obj = new MethodOverloadingDiffParameters();obj.methodOne(10);obj.methodOne(10, 20);}}

Вывод:

12

Метод с одним аргументомМетод с несколькими аргументами

TAG: qa