Разработка программ. Мои заметки.
February 15, 2017 at 23:58
Интерфейсы в Java 8 и Java 9. И немного об абстрактных классах.
Недавно в интернете попался программистский анекдот. Совсем незамысловатый, но суть проблемы оттеняющий. Звучит вот так:
Собеседуют Java разработчика. Задают традиционный вопрос:
– В чём состоит отличие абстрактного класса от интерфейса?
– бла-бла… наличие реализации… бла-бла-бла….
– Хорошо, а в Java 8?
Вроде ничего особенного, но вопрос действительно слегка усложнился. Решил чуть детальнее осветить сей аспект.
February 15, 2017 at 23:55
Эволюция интерфейсов в Java. Нововведения в Java 9.
Как менялись возможности интерфейсов в Java. Текущие итоги.
Тут я не буду вдаваться в ООП теорию для чего нужны интерфейсы, я лишь постараюсь максимально полно перечислить синтаксические правила их использования и новые возможности, добавленные в процессе эволюции Java-платформы. Также остановлюсь на несложных моментах, которые порой не упоминаются в учебниках.
До Java 8, Java интерфейс — это конструкция, похожая на класс в котором отсутствуют реализации методов:
public interface MyStrongInterface
{
public int howManyTimes = 15;
public void doIt();
}
Начнём с требований к интерфейсу, которые были заложены в Java, в момент создания языка. С большего они верны и сейчас. Хотя позже появились и расширения. Мы их также рассмотрим.