interface in java
An interface can contain: public constants; abstract methods without an implementation (the keyword abstract is not required here); default methods with implementation (the keyword default is required); static methods with implementation (the keyword static is required); private methods with implementation. Java 9 onwards, you can include private methods in interfaces. Before Java 9 it was not possible. An interface can't contain fields (only constants), constructors, or non-public abstract methods. The keyword abstract before a method means that the method does not have a body, it just declares a signature.