Compartir tecnología

Dos preguntas de la entrevista de Java todos los días (1)

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. La diferencia y conexión entre esta palabra clave y la súper palabra clave.

La palabra clave this se utiliza en esta clase.

Dentro de una clase, puedes usar esto en cualquier método para hacer referencia al objeto actual.

La palabra clave this se utiliza para resolver conflictos entre variables globales y variables locales.

this() puede llamar a constructores sobrecargados de la misma clase y debe colocarse en la primera línea.

La super palabra clave se utiliza en subclases.

En las subclases, los métodos y propiedades de las clases principales se pueden llamar a través de super.

super() puede llamar al constructor en la clase principal y debe colocarse en la primera línea.

super() y this() no se pueden usar al mismo tiempo y tampoco se pueden usar dentro de un método estático.

2. La diferencia entre palabra clave final y palabra clave estática

final modifica variables, métodos, clases

Si final modifica una variable, la variable es una constante. Las constantes no se pueden modificar y deben inicializarse cuando se definen.

Si el método es final, las subclases no pueden anularlo.

Si final modifica una clase, la clase ya no se puede ampliar ni subclasificar. String y Math en la biblioteca de clases de Java son clases finales.

constante de tipo de referencia modificada final

Si la constante es un tipo de datos básico, no se puede modificar.

Si la constante es un tipo de referencia, no se pueden asignar otros objetos a la referencia, pero la referencia se puede usar para cambiar las propiedades dentro del objeto.

Las variables modificadas por estática son variables estáticas, que son esencialmente variables globales. Todas las instancias de la clase comparten las mismas variables estáticas. Por lo tanto, después de modificar el valor de una variable estática a través de un objeto, la variable estática a la que se accede a través de otros objetos de la clase tiene el valor modificado. Cuando la máquina virtual carga la clase, las variables estáticas se inicializan y las variables estáticas se pueden usar sin crear un objeto de la clase.

Los métodos modificados por estático son métodos estáticos. Solo pueden llamar directamente a otros métodos estáticos, solo pueden acceder directamente a datos estáticos y no pueden hacer referencia a las palabras clave this o super de ninguna manera.

El bloque de código modificado por estático es un bloque de código estático, que solo se ejecuta una vez y se ejecuta cuando se carga la clase. Su función es inicializar datos estáticamente.