То, что является и не является чистым кодом, часто является личным предпочтением, основанным на опыте.Вложенные классы не являются беспорядочными, так что вы должны быть уверены, что это подходящая ситуация.
Если вам отчаянно нужны определенные функции для класса, который расширяет что-то вроде OnClickListener в вашем вопросе, то этовопрос, сколько раз вам нужен этот класс?Если ответ один раз, тогда анонимный класс будет более чистым решением.Если ответ содержится в каждом отдельном методе класса, тогда вложенный класс явно имеет больше смысла.
Более или менее каждая функция в Java имеет время и место, в которых она считается подходящей.Частные вложенные классы, такие как те, которые у вас есть в вашем вопросе, должны быть зарезервированы в моей памяти для случаев, когда вы удовлетворяете двум условиям:
a) вам абсолютно необходим отдельный класс, который будет использоваться только в этом классеи не где еще
И
b) вам нужно будет использовать этот класс в нескольких местах внутри класса.
В конце дня вложенные частные классыне изначально грязный или сложный в обслуживании, но, как и в случае с любой другой функцией языка программирования, убедитесь, что они вам нужны.