Abstract Class is one of the class where we use more than one Abstract methods. Method are used just for declaring a variable but they are not the part of the program. Whenever we use Abstract Class then it is necessary to use subclasses too. Interface class is a part of Abstract Method.Interface is used for reference purpose. Interface is the another types of class which consists of constants and other such variables. Interface is considered as a blueprint of class.
Abstract Class has an restriction of taking one class at a time whereas Interface allows the programmer to take n number of class at a time.Abstract Class consists of two types of method one is the Abstract method and the other is the Concrete Method but in the other side the Interface has only one method called as Abstract Method. The other major difference between Abstract Class and Interfacing is that Interface Does not allow extension from class or method rather it extends only with Interface itself. In Abstract Class can be extended with the Abstract class and with other class also.
In Abstract Class,the class can extend at the most one Abstract class whereas the Interface help to implement the extension n number of times as per the user. If the user desire to make the Abstract to be used as an method then it is necessary to specify that Keyword and in the Interface the user has been given the right to decide whether to specify the method or not.
Abstract Class consists of three Method they are listed as public,protected and Abstract methods which is available publicly. Interface Does not have any such option rather than it produces a by default value of Public Abstract kind of method.Interface Program provides a final value in the form of constants and apart from that Abstract class helps to provide any types of variable.
Interface are considered to be more effective than Abstract class.