Встречается на собеседованиях • сегодня

Как в Java реализован полиморфизм

Полиморфизм в Java реализуется через механизм переопределения методов (runtime-полиморфизм) и перегрузку методов (compile-time-полиморфизм).

  1. Переопределение (Runtime полиморфизм):
java
class Animal {
    void sound() {
        System.out.println("Animal sound");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Bark");
    }
}

Animal myAnimal = new Dog();
myAnimal.sound(); // Выведет "Bark" (вызовется метод подкласса)

text

2. **Перегрузка (Compile-time полиморфизм)**:
```java
class Calculator {
    int add(int a, int b) {
        return a + b;
    }
    
    double add(double a, double b) {
        return a + b;
    }
}

Также полиморфизм поддерживается через интерфейсы:

java
interface Shape {
    void draw();
}

class Circle implements Shape {
    public void draw() {
        System.out.println("Drawing circle");
    }
}

JVM определяет фактический тип объекта во время выполнения (динамическое связывание) и вызывает соответствующий метод.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы