Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Интерфейсы в Java: Как определять и реализовывать их с практическими примерами

Что такое Java-интерфейс?

Java-интерфейс — это абстрактный тип, определяющий контракт для классов. Он может объявлять константы и абстрактные методы, но не может хранить состояние. Все методы неявно public и abstract, а класс может реализовывать несколько интерфейсов, предоставляя требуемое поведение.

Объявление интерфейса

interface MyInterface {
    // абстрактные методы
}

Реализация интерфейса

class Dog implements Pet {
    // реализация методов из Pet
}

Расширение интерфейсов

interface RidableAnimal extends Animal, Vehicle {
    // дополнительные абстрактные методы
}

Зачем нужны интерфейсы?

Интерфейсы позволяют отделить что от как. Они обеспечивают полиморфизм, способствуют слабой связанности и решают проблему «множественного наследования», которую Java не поддерживает для классов.

Например, MediaPlayer может иметь отдельные подклассы CDPlayer и DVDPlayer, каждый из которых предоставляет свою реализацию play(). Если классу нужны обе возможности, Java запретит множественное наследование классов, но интерфейс позволяет комбинировать поведения чисто.

Интерфейсы в Java: Как определять и реализовывать их с практическими примерами

Интерфейсы в Java: Как определять и реализовывать их с практическими примерами

Аналогично, класс Dog может расширить Animal и реализовать интерфейс Pet, удовлетворяя и наследованию, и контрактным обязательствам.

Интерфейсы в Java: Как определять и реализовывать их с практическими примерами

Пример Java-интерфейса

Шаг 1: Напишите следующий код:

interface Pet {
    void test();
}
class Dog implements Pet {
    @Override
    public void test() {
        System.out.println("Interface method implemented");
    }
    public static void main(String[] args) {
        Pet p = new Dog();
        p.test();
    }
}

Шаг 2: Скомпилируйте и запустите программу, чтобы увидеть вывод.

Класс vs Интерфейс

КлассИнтерфейс
Класс можно инстанцировать и может содержать состояние.Интерфейс нельзя инстанцировать и содержит только константы и сигнатуры методов.
Может иметь конкретные (реализованные) методы.До Java 8 не мог иметь конкретных методов; с Java 8 может содержать default и static методы.
Модификаторы доступа могут быть private, protected или public.Все члены неявно public (и static final для полей).

Когда использовать интерфейс, а когда абстрактный класс?

Ключевые факты об интерфейсах

Резюме

java

  1. Интерфейсы в Java: концепции, реализация и лучшие практики
  2. Абстрактные классы в C#: практическое руководство с примерами кода
  3. Интерфейсы в C#: определение, пример и практическое применение
  4. Метод String.length() в Java: как получить длину строки (пример)
  5. Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
  6. Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
  7. Интерфейс vs Абстрактный класс в Java: Как выбрать правильную абстракцию
  8. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
  9. Алгоритм сортировки вставками в Java: понятный пример и пошаговое руководство
  10. Интерфейсы в Java: определение, использование и лучшие практики