Hi Manoj.An interface defines the TYPE of an object.That is,in OO lingo,an interface provides the skeleton for an object definition.A class provides the IMPLEMENTATION of that definition as it feels so.
Hence,an interface does not need to have method implementation.It only lays down the rules (data types as well as the methods which will act on those data types) for an object.The method implementation is deferred to the class that implements that interface.There can be many different implementations for that object which depends on how actually the class programmer has overridden those methods.
Sometimes there arises a situation where a programmer may want to implement some common behaviour in a superclass.The subclass may use this implementation,or may decide to provide a new implementation.For this purpose,
Java has given the provision of defining an ABSTRACT CLASS.
I hope i have been clear enough.