Почему вложенный абстрактный класс в Java

Мне интересно, что значит иметь вложенный абстрактный класс? например,

   abstract class A{

          abstract class B{

          }
   }

Существуют ли какие-либо варианты использования или сценарии, которые нам могут понадобиться, например, дизайн? или есть что-то полезное в такой схеме? и почему Java позволяет нам это делать?

Ответы на вопрос(2)

Ваш ответ на вопрос