2. Определение частных методов в интерфейсах. Частные методы могут быть реализованными статическими или нестатическими. Это означает, что в интерфейсе мы можем создавать приватные методы для инкапсуляции кода как из стандартных, так и из статических сигнатур общедоступных методов.
Можем ли мы использовать приватные методы в интерфейсах?
Java 9 и более поздние версии, вы можете включать приватные методы в интерфейсы. До Java 9 это было невозможно. В Java SE 7 или более ранних версиях интерфейс может иметь только две вещи: константные переменные и абстрактные методы. Эти методы интерфейса ДОЛЖНЫ быть реализованы классами, которые решили реализовать интерфейс.
Могут ли интерфейсы Java иметь приватные методы?
Начиная с Java 8, интерфейсы могут иметь методы по умолчанию, а начиная с Java 9 интерфейсу разрешено иметь частные методы, к которым доступ возможен только с помощью методов по умолчанию в том же интерфейсе.
Должны ли методы в интерфейсе быть общедоступными?
Все абстрактные, стандартные и статические методы в интерфейсе неявно общедоступны, поэтому модификатор public можно опустить. Кроме того, интерфейс может содержать объявления констант. Все постоянные значения, определенные в интерфейсе, неявно являются public, static и final.
Может ли интерфейсный метод иметь тело?
Интерфейсы объявляются с использованием ключевого слова interface и могут содержать только сигнатуру метода и объявления констант (объявления переменных, которыеобъявлен как статический, так и окончательный). Все методы интерфейса не содержат реализацию (тела методов) во всех версиях ниже Java 8.