Clase final en Java
Este tutorial trata el tema de la clase final
con un ejemplo. El final
es una palabra clave en Java que se puede usar en diferentes contextos con variables, métodos y clases.
Restringe el acceso en todos los contextos hasta cierto punto. Hablaremos de la clase final.
Use la clase final
para restringir la clase en Java
Una clase con la palabra clave final
se denomina clase final. Usamos la palabra clave final
con una clase para restringir que la clase sea heredada por otras clases.
Hacemos la clase final
cuando queremos asegurar cualquier extensión. Una de sus ventajas es la seguridad porque una clase final es inmutable, que no se puede cambiar.
En el siguiente ejemplo, tenemos dos clases. La primera clase ExampleClass1
tiene el método main()
, mientras que en la segunda clase ExampleClass2
, usamos la palabra clave final
para convertirla en una clase final.
Cuando extendemos ExampleClass2
usando la palabra clave extends
en ExampleClass1
, obtenemos un error en la salida que dice que no podemos heredar una clase final.
class ExampleClass1 extends ExampleClass2 {
public static void main(String[] args) {}
}
final class ExampleClass2 {
int abc = 30;
}
Producción :
java: cannot inherit from final com.tutorial.ExampleClass2
No podemos extender una clase final, pero ¿y si queremos acceder a una propiedad o método de la clase?
Tenga en cuenta que la clase no se puede extender cuando se usa la palabra clave final
, pero podemos crear su objeto para acceder a sus funciones y variables.
Hay dos clases en el ejemplo; una es la clase final ExampleClass2
, mientras que se necesita otra clase ExampleClass1
para que se ejecute el método main()
.
Creamos un objeto de la clase ExampleClass2
y luego imprimimos el valor de abc
, una variable entera.
Podemos acceder a la clase y su variable incluso cuando sea final porque no usamos la herencia aquí.
class ExampleClass1 {
public static void main(String[] args) {
ExampleClass2 exampleClass2 = new ExampleClass2();
System.out.println(exampleClass2.abc);
}
}
final class ExampleClass2 {
int abc = 30;
}
Producción :
30
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn