При перегрузке методов создается несколько методов с одинаковыми именами, но разными сигнатурами. Т.к. имена у методов одинаковые, то разные варианты метода могут отличаться типом возвращаемого значения или списком аргументов. Фактически имеем разные методы.
Перегрузка метода
class OverLoad{ void test(){ System.out.println(“Метод без аргументов”); } void test(int a){ System.out.println(“Метод с одним аргументом”); } } class Demo(){ public static void main(String[] args){ OverLoad obj = new OverLoad(); obj.test(); obj.test(2); } }
Конструкторы тоже можно перегружать. Это означет, что в классе может быть несколько конструкторов.
class PeregruzConstruct{ double Re, Im; void show(){ System.out.println("Re=" + Re + " Im=" + Im); } PeregruzConstruct(){ System.out.println("Конструктор без атрибутов"); Re = 0; Im = 0; show(); } PeregruzConstruct(int x){ System.out.println("Конструктор с одним атрибутом"); Re = x; Im = x; show(); } PeregruzConstruct(int x, int y){ System.out.println("Конструктор с двумя атрибутами"); Re = x; Im = y; show(); } } class Demo{ public static void main(String[] args){ PeregruzConstruct obj1 = new PeregruzConstruct(); PeregruzConstruct obj2 = new PeregruzConstruct(10); PeregruzConstruct obj3 = new PeregruzConstruct(10,20); } }