Конечно, вы можете, но это сложно, и вы должны действительно подумать, если вы хотите идти по этому пути.
Идея состоит в том, чтобы использовать наследование на основе области в сочетании с наследованием на основе типа. Это разговор типа о том, что для внутренних целей внутренние классы «наследуют» методы и поля внешнего класса. Это немного похоже на миксины, где внешний класс смешивается с внутренним классом, но не настолько безопасен, так как вы можете изменить состояние внешнего класса, а также использовать его методы.
Гилад Брача (один из главных разработчиков языка Java) написал статью , в которой это обсуждается.
Итак, предположим, что вы хотите разделить некоторые методы для внутреннего использования между несколькими несвязанными классами (например, для работы со строками), вы можете создать их подклассы как внутренние классы класса, который имеет все необходимые методы, и подклассы могут использовать методы как из своих суперклассов, так и из внешнего класса.
В любом случае, это сложно для сложных классов, и вы можете получить большую часть функциональности, используя статический импорт (начиная с java 5 и далее). Отличный вопрос для собеседований и викторин в пабах; -)