As Per My knowledge Abstract 1) It can Inherit the Interface class, 2) It has Concreate methods(with the body),and without body(only declarations) Should be Abstract Method, 3) If Abstract class Inherit to the child class, Need to Declare all the Abstract methods in the Child Class with Override keyword, 4) Abstract Considered as Base Class Every Time so two more abstract class are not allowed to Inherit to Child class(only one Abstract class Inherit). Interface 1) It can Inherit Interface Classes only, 2) It has Only Declarations(without Body), 3) Declaring Interface Methods Inside the Child class(Same as Abstract class),But No need to override the method(Interface By Default Public), 4) One or More Interface Methods can be Inherit to the Child Class
Abstract class contains the concrete methods where interface is just a signature of the functionality.