methods in an interface only have declarations no Implementations.Ībstract class methods may or may not have any implementation.Ī class implements an interface must implement all of the methods declared in the interface.Ī class extending an abstract class need not implement any of the methods defined in the abstract class. Interfaces and abstract classes both implements polymorphic behavior and seem to be similar but they are different in the following ways:Īn interface is purely abstract i.e. On the other hand, abstract class refers to the class that contains atleast one abstract method must be declared abstract. When a class implements an interface, it promises to provide the behavior published by that interface. An interface is a contract between a class and the outside world.