Sobes.tech
Назад к вопросам
Junior — Middle
152

Чем отличаются ключевые слова 'implements' и 'extends' в Java, и в каких случаях их используют?

Компании, где спрашивали
AndersenAndersen
ЯндексЯндекс

Ответ от нейросети

sobes.tech AI

В Java ключевые слова extends и implements используются для разных целей:

  • extends применяется для наследования класса или расширения класса. Один класс может наследовать другой класс, получая его поля и методы.

  • implements используется для реализации интерфейса. Класс обязуется реализовать все методы интерфейса.

Примеры:

// Наследование класса
class Animal {
    void eat() { System.out.println("Eating"); }
}

class Dog extends Animal {
    void bark() { System.out.println("Barking"); }
}

// Реализация интерфейса
interface Runnable {
    void run();
}

class Athlete implements Runnable {
    public void run() {
        System.out.println("Running");
    }
}

Важно:

  • Класс может наследовать только один класс (extends), но может реализовывать несколько интерфейсов (implements).
  • Интерфейсы могут наследовать друг друга с помощью extends, но классы — нет.

Используют extends, когда нужно создать специализированный класс на основе существующего, а implements — когда класс должен соответствовать определённому контракту (интерфейсу).