Instancias

Instancias

Accediendo a un metodo de una clase estatica aninada es por medio de la instancia.
y se instancia directamente desde la clase aninada y no desde la clase que la contiene.
Ejm:

public class clasesanidadas{

       
        public static   class claseinterna{
               
               public static void metodoInterno2(){
                        System.out.println("Clase interna Metodo interno2");
                }      
                public void metodoInterno(){
                        System.out.println("Clase interna Metodo interno");
                }      
        }      
       
}

Para tener Acceso al metodo interno2 de la clase estatica se hace lo siguiente.

                claseinterna claseinterna = new claseinterna();
                claseinterna.metodoInterno();

Para tener Acceso al metodo interno de la clase estatica puede ser por medio de la referencia de paquetes de la misma.

                ......claseinterna.metodoInterno2();

Aunque tambien es posible mediente la instancia

                claseinterna claseinterna = new claseinterna();
                claseinterna.metodoInterno2();

Pero si declaras la clase interna como static entonces puedes crear instancias de la clase interna que no dependen de una instancia de la clase externa.

Solamente puedes crear y manejar instancias de una clase interna dentro de metodos de la clase externa.
ya que las instancias de la clase interna dependen de la instancia externa. Ejm:

public class clasesanidadas{
       
        void test(){
               
                claseinterna claseinterna = new claseinterna2();
                claseinterna.metodoInternoClaseinterna();
        }
       
       
        public    class claseinterna{  
                public void metodoInternoClaseinterna(){
                        System.out.println("Clase interna Metodo interno");
                }      
        }
}