В языке Java интерфейсы реализуются классами для использования методов интерфейса. Классу необходимо объявить, что класс реализует один или несколько интерфейсов, используя ключевое словоimplements в объявлении класса. Если вы реализуете несколько интерфейсов, разделяйте имена интерфейсов запятыми.
Например:
classAimplementsPrintable, Addable//Класс A реализует интерфейсы Printable и Addable classDogextendsAnimalimplementsEatable, Sleepable//Подкласс Animal’s Dog реализует интерфейсы Eatable и Sleepable
Если неабстрактный класс реализует интерфейс, то класс должен переопределить все методы в интерфейсе.
Примечание. Поскольку методы в интерфейсе должны быть общедоступными абстрактными методами, когда класс переопределяет метод интерфейса, он должен не только удалить абстрактный модификатор, но также предоставить тело метода, а права доступа метода должны быть явно изменены с помощью общественность.
Если неабстрактный класс, реализующий интерфейс, реализует метод в интерфейсе, это эквивалентно заданию конкретной поведенческой функции метода. Пользователи также могут настраивать интерфейсы, а исходный файл Java может состоять из классов и интерфейсов.
Если класс объявляет о реализации интерфейса, но не переопределяет все методы в интерфейсе, то этот класс должен быть абстрактным. Другими словами, абстрактный класс может либо переопределять методы в интерфейсе, либо напрямую владеть методами в интерфейсе. интерфейс.
Подробности:
Программы могут использовать имя интерфейса для доступа к константам в интерфейсе, но если класс реализует интерфейс, то класс может использовать константы в интерфейсе непосредственно в теле класса.
При определении интерфейса, если ключевому слову интерфейс предшествует ключевое слово public, он называется общедоступным интерфейсом , а общедоступный интерфейс может быть реализован любым классом, если ключевое слово public не добавлено, он называется дружественным интерфейсом ; с этим классом можно использовать дружественный интерфейс. Интерфейс реализуется классами в одном пакете.
Если родительский класс реализует интерфейс, то подкласс, естественно, будет реализовывать интерфейс. То есть подклассу больше не нужно использовать ключевое слово «реализует» для объявления реализации этого интерфейса.
Интерфейсы также могут наследоваться, то есть вы можете объявить, что интерфейс является подинтерфейсом другого интерфейса, с помощью ключевого слова расширяется. Поскольку методы и константы в интерфейсе являются общими, подинтерфейс унаследует все методы и константы родительского интерфейса.
Примечание. Все интерфейсы, предоставляемые Java, находятся в соответствующих пакетах. С помощью оператора импорта можно представить не только классы в пакете, но и интерфейсы в пакете.
Например:
importjava.io.*;//В настоящее время представлены не только классы в пакете java.io, но и интерфейсы в пакете