This is from the site dotnetbull. I am blogging this here for future reference.
| Interface | Abstract Classes |
|---|---|
| Interface support multiple implementations | Abstract class does not support multiple inheritance |
| Interface does not contain Data Member | Abstract class contains Data Member |
| Interface does not contain Constructors | Abstract class contains Constructors |
| An interface Contains only incomplete member (signature of member) | An abstract class Contains both incomplete (abstract) and complete member |
| An interface cannot have access modifiers by default everything is assumed as public | An abstract class can contain access modifiers for the subs, functions, properties |
| Member of interface can not be Static | Only Complete Member of abstract class can be Static |