La clase anidada estática es como cualquier otra clase externa, ya que no tiene acceso a los miembros de la clase externa.
Solo por conveniencia de empaque podemos agrupar las clases anidadas estáticas en una clase externa para fines de legibilidad. Aparte de esto, no hay otro caso de uso de clase anidada estática.
Ejemplo para este tipo de uso, puede encontrarlo en el archivo Android R.java (recursos). La carpeta Res de Android contiene diseños (que contienen diseños de pantalla), carpeta dibujable (que contiene imágenes utilizadas para el proyecto), carpeta de valores (que contiene constantes de cadena), etc.
Como todas las carpetas son parte de la carpeta Res, la herramienta de Android genera un archivo R.java (recursos) que contiene internamente muchas clases anidadas estáticas para cada una de sus carpetas internas.
Aquí está la apariencia del archivo R.java generado en Android:
aquí se usan solo para la comodidad del empaque.
/* 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;
}
}