Разница между статическими и нестатическими классами заключается в следующем:
- Доступ к членам внешнего класса. github.com Статические классы имеют доступ только к статическим членам внешнего класса, а нестатические — ко всем членам (как статическим, так и нестатическим). github.com
- Создание экземпляров. github.com Экземпляр статического класса можно создать независимо от внешнего класса, а для создания экземпляра нестатического класса требуется существующий экземпляр внешнего класса. github.com
- Ссылки на внешний класс. github.com Статические классы не имеют неявной ссылки на экземпляр внешнего класса, а нестатические — имеют. github.com
Выбор между статическим и нестатическим классом зависит от того, требуется ли связь с конкретным экземпляром внешнего класса или нет. sky.pro