Neither is instantiable. What are the differences, and in what situations might you use one or the other?
See Question&Answers more detail:osNeither is instantiable. What are the differences, and in what situations might you use one or the other?
See Question&Answers more detail:osstatic
indicates the class can only have static members and you cannot create an instance of it. This is used for stateless functionality (for example a type that just defines extension methods, or utility methods). You can also declare a member static
on a non-static class. This allows you to attach functionality to a type without having to instantiate it.
Here's more detail on using static members and classes.
abstract
s define the basic structure and functionality shared by all derivative types, but cannot be used by themselves. Think of them as, I suppose, a blue print and a contract. This is a core concept for OOP.