Поскольку каждый метод в интерфейсе по умолчанию является публичным и абстрактным
public interface IntSet {
boolean isElem (int a);
}
Я бы уронил public abstract
из кода. Вы редко видите это, так как это избыточно.
Из спецификации языка Java, Раздел 9.4 :
Каждое объявление метода в теле
интерфейса неявно
абстрактный, поэтому его тело всегда представлено точкой с запятой, а не блоком.
Каждое объявление метода в теле интерфейса неявно
общественности.
и грамматика:
InterfaceMemberDeclaration:
ConstantDeclaration
AbstractMethodDeclaration
ClassDeclaration
InterfaceDeclaration
;
также демонстрирует, что все методы, объявленные в интерфейсе, являются абстрактными.