¿Pueden las clases en Java ser estáticas? La respuesta es sí. En Java podemos tener variables de instancia estática, métodos estáticos y bloques estáticos. Las clases también pueden ser estáticas.
Java nos permite definir clases estáticas en una clase. Por ejemplo, clase anidada. La clase que encerró la clase anidada se llama clase externa. En Java, no podemos modificar la clase de nivel superior con Static. Solo las clases internas pueden ser estáticas.
¿Cuál es la diferencia entre las clases internas estáticas y las clases internas no estáticas? Aquí están las principales diferencias entre los dos.
(1) La clase estática interna no necesita tener una referencia a la clase externa. Pero las clases internas no estáticas deben celebrar referencias a clases externas.
(2) Las clases internas no estáticas pueden acceder a miembros estáticos y no estatales de clases externas. Una clase estática no puede acceder a miembros no estatales de una clase externa. Solo puede acceder a miembros estáticos de clases externas.
(3) No se puede crear una clase interna no estática sin la entidad de clase externa, y una clase interna no estática puede acceder a los datos y métodos de la clase externa porque está dentro de la clase externa.
Según la discusión anterior, podemos hacer que la programación sea más fácil y efectiva a través de estas características.
/* El siguiente programa muestra cómo crear clases internas estáticas y clases internas no estáticas en Java*/Class OuterClass {String estático privado Msg = "GeeksforGeeks"; Solo se puede acceder al miembro estático de la clase externa public void printMessage () {// Intente cambiar MSG a no estatico, lo que causará el sistema de error de compilación.out.println ("Mensaje de la clase estática anidada:" + Msg) ; }}} class Main {// Cómo crear instancias de clases internas estáticas y clases internas no estáticas públicas void static static main (string args []) {// Crear instancias de clases internas estáticas externas. NesteStaticClass (); ; .InnerClass innerObject = new OuterClass (). New InnerCla ss ();El contenido anterior es la información relevante sobre el editor que le presenta la clase estática en Java.