| Reference types, Value types, and Patterns - slide 12 : 29 |
| Classes | Structs |
| Reference type | Value type |
| Used with dynamic instantiation | Used with static instantiation |
| Ancestors of class Object | Ancestors of class Object |
| Can be extended by inheritance | Cannot be extended by inheritance |
| Can implement one or more interfaces | Can implement one or more interfaces |
| Can initialize fields with initializers | Cannot initialize fields with initializers |
| Can have a parameterless constructor | Cannot have a parameterless constructor |