Вложенный статический класс (static nested class) не имеет доступа к нестатическим членам внешнего класса и не требует создания экземпляра внешнего класса для своего создания.
Вложенный нестатический класс (inner class) имеет доступ ко всем членам внешнего класса, включая приватные, и требует наличия экземпляра внешнего класса для своего создания, так как неявно хранит ссылку на экземпляр внешнего класса.