Following are the main difference between abstract class and interface.
1. Abstract class can contain abstract method while interface does not.
2. Abstract class can contain method body while interface does not.
3. Methods in abstract class can contain any valid access specifier while in interface public access specifier is only allowed.
4. Abstract class can contain methods with body while interface can contain only method signature.
For VB.NET abtract class is must inherit class.