Перегрузка метода:

Два метода считаются перегруженными тогда и только тогда, когда оба имеют одинаковое имя, но разные типы аргументов.

Ex:

Пустой метод1(int a){

}

Пустой метод1 (строка s) {

}

Вывод: При перегрузке компилятор отвечает за выполнение разрешения (решения) метода на основе ссылочного типа. Следовательно, перегрузка также считается полиморфизмом времени компиляции (или) статическим полиморфизмом.

Можем ли мы перегрузить метод java main()?

Да, путем перегрузки метода. Вы можете иметь любое количество основных методов в классе путем перегрузки методов. Но JVM вызывает метод main(), который получает массив строк только в качестве аргументов.

Переопределение метода:

  1. Независимо от того, что родительский объект по умолчанию доступен дочернему через наследование, если дочерний элемент не удовлетворен реализацией метода родительского класса, то дочерний элемент может переопределить этот метод родительского класса в дочернем классе по-своему, этот процесс называется переопределением

2. Переопределенный метод родительского класса называется переопределенным методом.

3. Переопределяющий метод дочернего класса называется переопределяющим методом.

  • При переопределении разрешения метода всегда заботится JVM на основе объекта времени выполнения, поэтому переопределение также считается полиморфизмом времени выполнения или динамическим полиморфизмом.

Методы, которые можно переопределить:

  • Частные методы не видны в дочерних классах, поэтому концепция переопределения неприменима для частных методов. Основываясь на собственных требованиях, мы можем объявить тот же частный метод родительского класса и в дочернем классе. Это действительно, но не имеет приоритета.
  • Мы можем переопределить абстрактные методы родительского класса в дочерних классах, чтобы обеспечить реализацию.
  • Мы не можем переопределить статический метод.

Скрытие метода:

Все правила скрытия методов точно такие же, как и переопределения, за исключением следующих отличий.