Tuesday 6 December 2016

Chapter 9.3.2 : Implementing Interfaces


When a class implements an interface, you can think of the class as signing a contract, agreeing to perform the specific behaviors of the interface. If a class does not perform all the behaviors of the interface, the class must declare itself as abstract.
A class uses the implements keyword to implement an interface. The implements keyword appears in the class declaration following the extends portion of the declaration.
/* File name : MammalInt.java */
public class MammalInt implements Animal{
 
   public void eat(){
      System.out.println("Mammal eats");
   }
 
   public void travel(){
      System.out.println("Mammal travels");
   } 
 
   public int noOfLegs(){
      return 0;
   }
 
   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
} 
This would produce the following result:
Mammal eats
Mammal travels
When overriding methods defined in interfaces there are several rules to be followed:
·         Checked exceptions should not be declared on implementation methods other than the ones declared by the interface method or subclasses of those declared by the interface method.
·         The signature of the interface method and the same return type or subtype should be maintained when overriding the methods.
·         An implementation class itself can be abstract and if so interface methods need not be implemented.
When implementation interfaces there are several rules:
·         A class can implement more than one interface at a time.
·         A class can extend only one class, but implement many interfaces.

·         An interface can extend another interface, similarly to the way that a class can extend another class.

No comments:

Post a Comment