Перейти к контенту

Переопределение и перегрузка при полиморфизме в Java

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

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

 

Или, если объект относится к подклассу типа, выполняется метод суперкласса.

Пример

class SuperClass{
   public static void sample(){
      System.out.println("Method of the super class");
   }
}
public class RuntimePolymorphism extends SuperClass {
   public static void sample(){
      System.out.println("Method of the sub class");
   }
   public static void main(String args[]){
      SuperClass obj1 = new RuntimePolymorphism();
      RuntimePolymorphism obj2 = new RuntimePolymorphism();
      
      obj1.sample();
      obj2.sample();
   }
}

Итог

Method of the super class
Method of the sub class

Перегрузка при полиморфизме в Java

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

Пример

public class OverloadingExample {
   public void display(){
      System.out.println("Display method");
   }
   public void display(int a){
      System.out.println("Display method "+a);
   }
   public static void main(String args[]){
      OverloadingExample obj = new OverloadingExample();
      obj.display();
      obj.display(20);
   }
}

Итог

Display method
Display method 20

Оцени статью

Средняя оценка / 5. Количество голосов:

 

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)