what is difference between static and abstract class?
Abstract classes get instantiated indirectly via derived classes. They provide common behaviour and instance state, but signal that more is required and must be provided by derived concrete classes. ... Static classes cannot be instantiated, and any state is at the class level rather than the instance level.