A variable whose declared type is an interface type may have as its value a reference to any instance of a class which implements the specified interface. The Identifier in an interface declaration specifies the name of the interface. A compile-time error occurs if an interface has the same simple name as any of its enclosing classes or interfaces. Not all modifiers are applicable to all kinds of interface declarations. A compile-time error occurs if the same modifier appears more than once in an interface declaration.
Every interface is implicitly abstract .
This modifier is obsolete and should not be used in new programs. This implies that all nested types declared in the interface are implicitly strictfp . If an extends clause is provided, then the interface being declared extends each of the other named interfaces and therefore inherits the member types, methods, and constants of each of the other named interfaces. These other named interfaces are the direct superinterfaces of the interface being declared. Any class that implements the declared interface is also considered to implement all the interfaces that this interface extends .