- A class can implement more than one Interface.
- An Interface can extend one or more interfaces, by using the keyword extends.
- All the data members in the interface are public, static and Final by default.
- An Interface method can have only Public, default and Abstract modifiers.
- An Interface is loaded in memory only when it is needed for the first time.
- A Class, which implements an Interface, needs to provide the implementation of all the methods in that Interface.
- If the Implementation for all the methods declared in the Interface are not provided , the class itself has to declare abstract, other wise the Class will not compile.
- If a class Implements two interface and both the Intfs have identical method declaration, it is totally valid.
- If a class implements two interfaces both have identical method name and argument list, but different return types, the code will not compile.
- An Interface can’t be instantiated. Intf Are designed to support dynamic method resolution at run time.
- An interface can not be native, static, synchronize, final, protected or private.
- The Interface fields can’t be Private or Protected.
- A Transient variables and Volatile variables can not be members of Interface.
- The extends keyword should not used after the Implements keyword, the Extends must always come before the Implements keyword.
- A top level Interface can not be declared as static or final.
- If an Interface species an exception list for a method, then the class implementing the interface need not declare the method with the exception list.
- If an Interface can’t specify an exception list for a method, the class can’t throw an exception.
- If an Interface does not specify the exception list for a method, the class can not throw any exception list.
Access interface name {
return-type method-name1(parameter-list);
type final-varname1=value;
}
-----------------------
Marker Interfaces : Serializable, Clonable, Remote, EventListener
Marker Interface is an Interface which does not have any method declarations. They are used to mark/tag the nature of the class.
Click here to More about Abstract class
Click here for more about Difference between Abstract class and Interface
No comments:
Post a Comment