GingerHead GingerHead - 5 days ago 7
Java Question

Interface extends another interface but implements its methods

In java when an interface extends another interface:


  1. Why does it implement its methods?

  2. How can it implement its methods when an interface can't contain a
    method body

  3. How can it implement the methods when it extends the other interface
    and not implement it?

  4. What is the purpose of an interface implementing another interface?



This has major concepts in Java!

EDIT:

public interface FiresDragEvents {

void addDragHandler(DragHandler handler);

void removeDragHandler(DragHandler handler);
}


public interface DragController extends FiresDragEvents {

void addDragHandler(DragHandler handler);

void removeDragHandler(DragHandler handler);

void dragEnd();

void dragMove();
}


In eclipse there is the implement sign besides the implemented methods in
DragController
.

And when I mouse-hover it, it says that it implements the method!!!

Answer

Why does it implement its methods? How can it implement its methods when an interface can't contain method body? How can it implement the methods when it extends the other interface and not implement it? What is the purpose of an interface implementing another interface?

Interface does not implement the methods of another interface but just extends them. One example where the interface extension is needed is: consider that you have a vehicle interface with two methods moveForward and moveBack but also you need to incorporate the Aircraft which is a vehicle but with some addition methods like moveUp, moveDown so in the end you have:

public interface IVehicle{
 bool moveForward( int x );
 bool moveBack( int x );
};

and airplane:

public interface IAirplane extends IVehicle{
 bool moveDown(int x);
 bool moveUp(int x);
};
Comments