¿Qué sucede cuando un miembro dentro de un class
se declara como static
...? Se puede acceder a los miembros sin crear instancias de class
. Por lo tanto, hacer una clase externa (clase de nivel superior) static
no tiene sentido. Por lo tanto, no está permitido.
Pero puede establecer clases internas como estáticas (ya que es un miembro de la clase de nivel superior). Entonces se puede acceder a esa clase sin instanciar la clase de nivel superior. Considere el siguiente ejemplo.
public class A {
public static class B {
}
}
Ahora, dentro de una clase diferente C
, B
se puede acceder a la clase sin hacer una instancia de clase A
.
public class C {
A.B ab = new A.B();
}
static
Las clases también pueden tener non-static
miembros. Solo la clase se vuelve estática.
Pero si la static
palabra clave se elimina de la clase B
, no se puede acceder directamente sin hacer una instancia de A
.
public class C {
A a = new A();
A.B ab = a. new B();
}
Pero no podemos tener static
miembros dentro de una non-static
clase interna.