Abstract method are those which are not defined. Means if your method doesnt have its body it is abstract.
On the other hand, if you have already defined the body and want the classes that derives it can override its member, if they wish, you define it as virtual.
The VB.NET equivalent to these keywords gives a clear knowledge on this :
I hope you got your answer.