Я - новая рыба в разработке Android. При чтении книг и исходного кода Android я узнал что там столько внутренних классов в приложении Android. Почему Android нужно столько внутренних классов?
Я смущен этими внутренними классами.
Я предполагаю, что вы раньше занимались C/C++. Эти внутренние классы не являются специфичными для Android. Они пришли из Java. В Java стеки (которыми мы живем в C/C++) не существуют таким же образом. Думайте о байт-коде Java как о блоке двоичных исполняемых файлов, которые существуют внутри одной функции (как если бы вы писали весь свой код внутри функции main в C/C++). Но Java позволяет вам быть "объектно-ориентированным" и локализовать ваш код в классах для различных задач. Он также позволяет вам получать производные от другого класса и одновременно инстанцировать его. Это то, что вы видите во всех примерах. Ссылка, которую привел "Macarse", объясняет это для программиста Java.
Внутренние классы есть не только в Android
. Думаю, вам нужно понять, почему в некоторых случаях они хороши.
Посмотрите эту статью о внутренних классах: Внутренние классы: Так для чего же внутренние классы в любом случае хороши? .
Они часто являются наиболее эффективным способом реализации дизайна.
Внутренний класс может обращаться к закрытым членам класса, который его содержит, поэтому использование внутреннего класса позволяет разделить функциональные возможности между классами без необходимости добавления методов доступа для закрытых переменных.