Este artículo analiza brevemente el uso de estática en Java, y principalmente cinco aspectos: variables de miembros estáticos, métodos estáticos, bloques estáticos, clases internas estáticas y paquetes estáticos.
En primer lugar, hablemos sobre la diferencia entre objetos estáticos y objetos no estáticos en una tabla:
| Objetos estáticos | Objetos no estáticos | |
| Atribución | Las clases tienen | Cada instancia de la clase es propiedad de forma independiente |
| Asignación de memoria | Fijo en el espacio de memoria | Asignación de clase de afiliado |
| Asignación de orden espacial | Priorizar la asignación del espacio de objetos estáticos | La prioridad asigna el espacio de objetos estáticos, y lo mismo es cierto para la inicialización |
1 variables estáticas, métodos estáticos, bloques estáticos
Los objetos estáticos y los métodos estáticos están decorados con palabras clave estáticas en los objetos y métodos originales, lo que indica que la clase puede llamarlos directamente sin instancias antes de llamarlos. Los beneficios son:
1: los datos de los objetos estáticos son globalmente únicos, y puede garantizar la singularidad de los datos.
2-fácil de citar, solo use el nombre y el método de clase (propiedades) directamente, no es necesario obtener y establecer
Por supuesto, los métodos estáticos (variables, bloques) también tienen restricciones correspondientes:
Se pueden llamar 1-no otros métodos no estatales (solo se pueden llamar métodos estáticos)
2-solo acceder a datos estáticos
3-Este o Super no se puede hacer referencia de ninguna manera
Código de muestra:
public class StaticExercise {public static String sky="jeyson";public static String getMySky(String sky){return sky;}static {System.out.println("This is the content in the static block--");System.out.println("static block: "+getMySky(sky));}/*** *** *** Benefits of static objects: * 1-The data of static Los objetos son globalmente únicos, y se puede garantizar que los datos son únicos. * 2-La referencia es conveniente, solo use el nombre y el método de clase, sin SET y obtenga* *** Asignar Orden de espacio:* Primero asigne el espacio de objetos estáticos y luego no estático. El orden de inicialización es el mismo* *** Las variables de miembro modificadas finales estáticas y los métodos de miembros pueden entenderse como variables globales (no hay un concepto de variables globales en java)* *** Limitaciones de objetos estáticos, métodos y bloqueos:* 1 Llamada de 1 al lado de los métodos estáticos* 2 Solo acceder a datos estáticos* 3-This o Super* no se puede referir en ninguna forma de objeto estático*/@ testStatic1 () {System.out.println (Sky); System.out.println ("-----------------"); System.out.println (getMysky (Sky)); System.Println ("---------------------"); System.Println (stattESTest.getSms ());}}} 2 clase interior estática
Cuando una clase está estrechamente relacionada con otra clase (clase externa), y la clase generalmente solo se usa cuando se usa una clase externa, la clase puede usarse como una clase interna estática. Esto se puede generar directamente a medida que la clase está cargada. No hay necesidad de instanciarlo.
Método de uso: cargado con la clase y llame a la clase externa directa, clase interna, objeto estático (método)
Código de muestra:
class Statictest {public static string sms = "to my sky"; public static string getsms () {return sms;}/*** Class interna estática**** Escenario de uso:*La clase interna está estrechamente relacionada con la clase exterior, y esta clase generalmente se usa solo cuando se usa la clase externa**** Uso*Se carga con la clase directa, directamente la clase externa. Clase interna. Objeto estático (método)*/Class estática Innerstatic {public static final String mysky = "My Final Sky";}} @testpublic void testStatic2 () {System.out.println (statictest.innstatic.mysky);} 2 paquete de guía estática
Si la clase donde el método estático que desea usar no está en el mismo paquete que la clase actual, puede usar el paquete de entrega estática. De esta manera, el método o variable estática que desea usar es equivalente a ser directamente visible en la clase, y no hay necesidad de llamar al nombre de la clase o la variable estática.
Cómo usar:
Importar nombre de paquete estático. Nombre de clase. Variable de miembro estatal (método)
beneficio:
Las variables y métodos estáticos importados son directamente visibles en esta clase y se utilizan directamente
dañar:
Hasta cierto punto, la legibilidad del código se reduce
Ejemplo de código:
public class mystaticImportTest {public static final int numero = 55; public static void getMywords () {System.out.println ("Hola, esta es una prueba del paquete de plomo estático");}} importe está estático com.generic.mystaticTest.number; Static*/public class StaticExercise {/*** Paquete de plomo estático* *** Método de uso:* Variables y métodos de importación estática directa correspondientes: (Importar nombre de paquete estático. Nombre de clase. Variable de miembro estático (método)* Importar static com.generic.MystaticImportTest.Number.* Importar com.generic.MystaticMortTest.getMyWords; *** Los beneficios de la importancia:* Las variables son directamente visibles en esta clase, no es necesario dar el nombre de la clase* *** Desventajas* hasta cierto punto reduce la legibilidad del código*/@testPublic void teststatic3 () {// Después de la importación estática, puede usar int mynumber = number; getMywords ();}}Lo anterior es un breve análisis del uso de palabras clave estáticas en Java presentadas por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!