Notas de estudio básicas de Java _ explicación detallada de la palabra clave final

1. ¿Cuál es la palabra clave final?

Final es una palabra clave reservada en Java, que puede declarar variables miembro, métodos, clases y variables locales.

2. ¿Cómo nombrarlo?

La variable final modificada es una constante. El nombre de la constante debe estar en mayúsculas y las palabras deben estar separadas por guiones bajos . La variable final modificada hace que el programa sea más riguroso y da a algunos datos fijos un nombre más legible.

3. ¿Qué es una constante final?

La variable miembro modificada por final es una constante y no se puede modificar, la variable solo se puede asignar una vez y la variable declarada como final debe recibir un valor inicial en el momento de la declaración

Una vez que declare la referencia como final, no podrá cambiar la referencia, el compilador verificará el código, si intenta inicializar la variable nuevamente, el compilador reportará un error de compilación.

4. ¿Qué es el método final?

Final también puede declarar métodos de miembros. Significa que este método de miembro es un método final y no puede ser reemplazado por subclases , pero puede ser reemplazado por subclases.

Si cree que la función de un método miembro es lo suficientemente completa y no es necesario cambiar la subclase, puede declarar este método como final. Los métodos finales son más rápidos que los métodos no finales porque están vinculados estáticamente en tiempo de compilación y no necesitan estar vinculados dinámicamente en tiempo de ejecución. 

5. ¿Qué es una clase final?

Las clases modificadas con final se denominan clases finales. Las clases finales suelen tener funciones completas y no se pueden heredar . Muchas clases en Java son finales, como String, Interger y otras clases contenedoras. 

6. ¿El contenido del objeto al que apunta la variable de referencia modificada final?

Como se mencionó anteriormente, una vez que se inicializa y asigna la variable de referencia modificada por final, ya no puede apuntar a otros objetos, entonces, ¿puede ser variable el contenido del objeto al que apunta la variable de referencia? Mira el siguiente ejemplo:

public class Test {
    public static void main(String[] args)  {
        final MyClass myClass = new MyClass();
        System.out.println(++myClass.i);
 
    }
}
 
class MyClass {
    public int i = 0;
}

Este código se puede compilar correctamente y hay un resultado de salida, el resultado de salida es 1 . Esto muestra que después de la última modificación de la variable de referencia, aunque ya no puede apuntar a otros objetos, el contenido del objeto al que apunta es variable.

Supongo que te gusta

Origin blog.csdn.net/qq_43191910/article/details/114762848
Recomendado
Clasificación