Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: annotation, polymorphism, encapsulation

Что такое @Override и @Overload? К каким принципам OOP они относятся?

Вопрос проверяет понимание аннотаций для переопределения и перегрузки методов, а также их связь с полиморфизмом.

Короткий ответ

  • @Override — аннотация для переопределения метода родительского класса (полиморфизм).

  • Перегрузка (Overload) — создание методов с одним именем, но разными параметрами (в одной классе).

Длинный ответ

1. @Override:

  • Показывает, что метод переопределяет метод суперкласса.

  • Относится к полиморфизму (принцип OOP).

  • Пример:

    class Parent {
        	void print() { System.out.println("Parent"); }
    }
    class Child extends Parent {
        	@Override
        	void print() { System.out.println("Child"); }
    }

2. Перегрузка (Overload):

  • Методы с одним именем, но разными параметрами.

  • Относится к инкапсуляции (группировка функциональности).

  • Пример:

    class Calculator {
        	int add(int a, int b) { return a + b; }
        	double add(double a, double b) { return a + b; }
    }

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#annotation

#polymorphism

#encapsulation

Подпишись на Java Developer в телеграм