Clase interna estática (clase anidada estática o clase anidada)

1. Clases anidadas estáticas

La clase anidada estática es una clase interna declarada como estática, se puede instanciar independientemente de las instancias de clase externas. Y la clase interna habitual necesita ser instanciada después de la instancia de la clase externa

(1) La clase anidada estática no es un miembro real de su clase externa, es el mismo nivel que la clase externa

(2) Las clases anidadas estáticas no pueden hacer referencia directa a variables de instancia o métodos en sus clases externas

(3) Método de creación de instancia:

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass ();

(4) Ejemplos

public  class StaticInnerClass {
     public  static  class InnerClass {
         private String string = "早上 好" ;
        public   void say () { 
            System.out.println (string); 
        } 
    } 

    public  void say () { 
        System.out.println ( "你好" ); 
    } 

    public  static  void main (String [] args) { 
        InnerClass InnerClass = new StaticInnerClass.InnerClass (); 
        InnerClass.say (); 
        StaticInnerClass staticInnerClass =nuevo StaticInnerClass (); 
        staticInnerClass.say (); 
    } 
}

 

2. Clase interna (clase interna miembro)

Crea la clase interna de plantas, la clase externa es biología

class   Biology {
     public  int age;
     public String name; 

    public  class Plants {
         public String color; 

        public Plants ( int a, String n, String c) { 
            age = a; // Variable miembro de la clase externa 
            name = n; 
            color = c ; // Variables miembro de clases internas 
        } 

        public  void display () { 
            System.out.println ( "El nombre de la planta es:" + nombre + "\ n" + "El color es:" + color); 
        } 
    } 
}

Prueba:

 Prueba de clase pública {
     public  static  void main (String [] args) { 

Biology.Plants plants = new Biology (). new Plants (1, "Dandelion", "Yellow"); // Acceso a clases internas 

 plants.display () ;}}

 

 Se puede ver que la instanciación de la clase interna depende de la instanciación de la instancia de clase externa

 

Supongo que te gusta

Origin www.cnblogs.com/zhai1997/p/12723898.html
Recomendado
Clasificación