Вложенные (nested) классы в Java бывают двух видов: статические и нестатические. Если внутри одного класса объявить другой с модификатором static, то такой класс называется статически вложенным (static nested). Если просто объявить класс внутри другого, то такой класс называется внутренним (inner).
Читать далее