Статический вложенный класс такой же, как и любой другой внешний класс, так как он не имеет доступа к членам внешнего класса.
Просто для удобства упаковки мы можем объединить статические вложенные классы в один внешний класс для удобства чтения. Кроме этого, нет другого варианта использования статического вложенного класса.
Пример такого использования вы можете найти в файле Android R.java (resources).
Папка Res Android содержит макеты (содержащие рисунки экрана), папку для рисования (содержащую изображения, используемые для проекта), папку значений (которая содержит строковые константы) и т. Д.
Так как все папки являются частью папки Res, android tool генерирует файл R.java (resources), который внутри содержит множество статических вложенных классов для каждой из их внутренних папок.
Вот как выглядит файл R.java, созданный в Android:
Здесь они используются только для удобства упаковки.
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.techpalle.b17_testthird;
public final class R {
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int main=0x7f070000;
}
public static final class string {
public static final int action_settings=0x7f050001;
public static final int app_name=0x7f050000;
public static final int hello_world=0x7f050002;
}
}