– Used by the Java compiler for type-checking with declared types: to make sure variables are used only where they make sense.An interface type may be used in Java even if there is no implementation of it in scope.Java interface define as type, i.e., the type name along with the set of its instance methods.Most powerful interface Notice there is Circularity Check every kernel method’s precondition.Determine the value of a variable of the type.Give a variable of the type any allowable value.A minimal set of methods that is functionally complete, i.e., powerful enough to:.The enhanced interface defines contracts for all other methods for the type.– Contract(s) for methods inherited from Java library interfaces that do not have their own contract specifications (if applicable e.g., an iterator or a comparator).it is unusual for an interface to define variables.Final Review Java Interface Interface may be used to define: