So lets say I have this interface:
public interface IBox { public void setSize(int size); public int getSize(); public int getArea(); //...and so
you could do
Ibox myBox = new Rectangle();
that way you are using this object as Ibox and you don't care that its really Rectangle .
Rectangle