Diferencia entre final y estática

Diferencia entre final y estática

En matemáticas y ciencias, la constante es un término que denota un cierto valor, como 'π', que es un nombre práctico para el número 3.14159. Java tiene su tipo de constantes. Estas son variables que debajo (a) no pertenecen a ningún objeto y sub (b) no cambian su valor una vez que se establecen. La palabra estática en la declaración variable muestra que la variable no pertenece a ningún objeto. Hay una palabra clave similar que dice que el valor variable solo se establecerá una vez y no cambiará. Esta es la palabra clave final. Esta palabra clave no se limita a variables estáticas, sino que se puede usar con variables de instancia, variables locales e incluso con variables que son métodos de parámetros. Al declarar la variable como final, usted muestra a todos que la variable durante la existencia tendrá el mismo valor. Más importante aún, el compilador detectará cada intento de cambiar el valor de una variable SO DESCARACIÓN e informará como un error. En cuanto a la terminología Java, la variable que se declara estática y final se llama constante.

Que es final?

El modificador final se puede usar en varios lugares en el lenguaje de programación Java. Aquí cubriremos su uso más común. El modificador final se puede aplicar a la declaración de una variable local, argumento de funciones y variables de miembros no estáticos o estáticos. En este contexto, el modificador variable se convierte en una constante. El lenguaje de traducción verificará si algún código intenta modificar el valor, y dichos intentos se marcarán como un error. Aquí hay un ejemplo.

valor int -int = 17;

Las variables de miembros estáticos con este modificador se utilizan como constantes globales; Por ejemplo, en el Java.lang.Variable matemática pi, se afirma exactamente

Public estática final Doble PI = 3.14159265358979323846;

Podemos aplicar el modificador final a la declaración de función. La función marcada con la final ya no se puede anular, esa es su implementación final. Los métodos abstractos no pueden declararse finales: el hecho de que son abstractos significa que carecen de implementación; Ciertamente no puede ser su estado final. Aquí hay un ejemplo.

Public final int significado ()

regresar 42;

Podemos aplicar el modificador final a la declaración de clase. La clase que está marcada con la final ya no puede heredar, esa es su implementación final. Claramente, la clase abstracta no puede ser final al mismo tiempo. Aquí hay un ejemplo

Clase final pública cerrada

// ..

Uno de los ejemplos de clase finita es el Java.lang.Clase de cadena: es finito para que nadie pueda heredarlo y, por lo tanto, obtener acceso a sus variables miembros.

Que es estático?

Las variables estáticas no pertenecen a una instancia particular de clase. Las variables estáticas pertenecen a la clase misma y en la memoria solo hay una ubicación, independientemente del número de copias de esa clase que se crean en la memoria. Las variables no estáticas pertenecen a las muestras de clase: cada instancia de la clase tiene su propia copia de tales variables. Las variables estáticas pertenecen a la clase: la clase en la memoria mantiene los valores de tales variables; Por lo tanto, todas las clases de muestra ven el mismo contenido para que podamos considerar las variables estáticas que se compartan entre todos los tamaños de clases. Al actualizar la variable de valor, el nuevo valor será visible automáticamente para todas las instancias de esa clase. El filtro estático se puede aplicar a cualquier elemento declarado legalmente dentro de una clase. En el caso de las variables de membresía, la consecuencia es que tales variables miembros se almacenarán en la memoria solo en un lugar. ¿Qué sucede si es un método?? Al declarar el método como estático, el mensaje es el mismo: el método relevante no pertenece a clases de clases sino a la clase misma. En consecuencia, los métodos estáticos no recibirán una referencia oculta al objeto sobre el cual se les llama a la llamada; En métodos de referencia estática, esto no está disponible. De hecho, invocar métodos estáticos en todo el objeto es igualmente confuso para acceder a las variables de miembros estáticos refiriéndose a esta referencia: en ambos casos, es mejor simplemente escribir el nombre de la clase, el punto y el nombre del método de llamadas.

Diferencia entre final y estática

  1. Variable

Static significa una variable que es común a todos los objetos que instancian una clase dada, mientras que la final define la constante.

  1. Método

La estática es un método que es el mismo para cada objeto dado la clase: también se llama miembro de clase E.gramo. Tal es el método principal. El método final no se puede procesar en la clase hereditaria.

  1. Clase

La final no se puede ampliar i.mi. no permite subclases. Static no se aplica a la clase.

  1. Valor

En pocas palabras, final denota que el valor no se puede cambiar (anular). El valor estático se establece en su valor predeterminado, pero se puede reinicializar.

Final VS. Estática: cuadro de comparación

Resumen de final y estático

  • El trabajo clave está estático proporciona acceso incluso cuando no hay objeto (instancia). Las clases prominentes se declaran a través de la palabra clave estática. Si no desea que el valor de algunos cambios más adelante en el programa se vaya, o si desea que el compilador verifique y prohíba, puede cambiar esa promesa a la final. Hay un bloque estático para la inicialización. El bloque estático para la inicialización se declara como la clave estática frente a los soportes. Este tipo de bloque se realiza una vez, durante la lectura de las clases, y generalmente inicializa a los miembros estáticos de la clase.