[JavaSE] miembros estáticos y bloques de código

En Java , los miembros modificados por estática se denominan miembros estáticos o miembros de clase, que no pertenecen a un par específico de
La imagen es compartida por todos los objetos .

variable miembro modificador estático

Variables miembro estáticas modificadas, denominadas variables miembro estáticas
[Características de la variable miembro estático]
1. No pertenece a un objeto específico, es un atributo de una clase, compartido por todos los objetos y no almacenado en el espacio de un objeto.
2. Se puede acceder a través del objeto o del nombre de la clase, pero generalmente se recomienda usar el nombre de la clase para acceder
3. JDK7 y versiones anteriores, HotSpot (máquina virtual de Java ) se almacena en el área de método, JDK8 y versiones posteriores, las variables de clase se almacenan en el montón de Java
4. Las variables de clase se almacenan en el área de método
5. El ciclo de vida se crea con la carga de la clase y se destruye con la descarga de la clase
definir una clase de estudiante
class Student{
    public String name;
    public String sex;
    public static String classes;
}
public class classDemo {
    public static void main(String[] args) {
        Student.classes="104Java班";
        Student student1=new Student();
        student1.name="zhangsan";
        Student student2=new Student();
        student2.name="lisi";
        Student student3=new Student();
        student3.name="wangwu";
    }
}

Los tres objetos anteriores estudiante, aunque sus nombres son diferentes, las variables miembro estáticas indican que pertenecen a la misma clase

No pertenece a un solo objeto, las variables miembro estáticas no se almacenan en un objeto específico.

método de miembro modificado estático

Un método miembro modificado por estático se denomina método miembro estático, que es un método de una clase, no específico de un objeto . Generalmente se accede a los miembros estáticos a través de métodos estáticos.
public class Student{ 
private static String classRoom = "Bit306"; 
public static String getClassRoom(){ 
return classRoom; 
}
 }

public class TestStudent {
public static void main(String[] args) {
 System.out.println(Student.classRoom); 
}
[ Características del método estático ]
1. No pertenece a un objeto específico, es un método de clase
2. Se puede llamar a través del objeto, o a través del nombre de la clase.El método de nombre de método estático (...) , este último es más recomendado
3. Los métodos estáticos no tienen oculto este parámetro de referencia, por lo que no se puede acceder a variables miembro no estáticas en métodos estáticos
4. No se pueden llamar métodos no estáticos en métodos estáticos, porque los métodos no estáticos tienen este parámetro, y esta referencia no se puede pasar cuando se llama a métodos estáticos .

inicialización de variable de miembro estático

Nota: Las variables miembro estáticas generalmente no se inicializan en el constructor y las propiedades de instancia relacionadas con el objeto se inicializan en el constructor.
1. Inicialización en el lugar
Clase de cadena estática privada = " Bit306 " ;
2. Inicialización del bloque de código estático

bloque de código

Un fragmento de código definido con {} se denomina bloque de código . De acuerdo con la posición y las palabras clave definidas por el bloque de código, se puede dividir en los siguientes cuatro tipos:
Bloque de código normal: un bloque de código definido en un método .
Bloque de código construido: Un bloque de código ( sin modificadores ) definido en una clase . También llamado: bloque de código de instancia . Los bloques de constructores se utilizan generalmente para inicializar variables miembro de instancia .
Los bloques de instancia se ejecutan con preferencia a los constructores porque después de la compilación, el compilador copia el código en los bloques de instancia antes de la primera declaración de cada constructor. Los bloques de código de instancia solo se ejecutan cuando se crea el objeto.
Bloque de código estático: un bloque de código definido mediante estático se denomina bloque de código estático. Generalmente se usa para inicializar variables miembro estáticas
1. No importa cuántos objetos se generen en un bloque de código estático, solo se ejecutará una vez
2. Las variables miembro estáticas son propiedades de la clase, por lo que se abren e inicializan cuando la JVM carga la clase .
3. Si una clase contiene varios bloques de código estático, al compilar el código, el compilador los combinará en el orden definido y finalmente los colocará en el método <> generado, que se llama cuando se carga la clase y solo se llama una vez. .
Bloque de código sincronizado

Supongo que te gusta

Origin blog.csdn.net/m0_64332179/article/details/124227492
Recomendado
Clasificación