Modificadores de Java

Aquí hay algunos datos curiosos sobre los modificadores de Java utilizados en los programas de Java como el diseño de aplicaciones de Android. La palabra final tiene muchos usos en los programas Java. Además de tener las variables finales, usted puede tener estos elementos:

  • Clase final: Si se declara una clase de ser final, nadie (ni siquiera usted) puede extenderlo.

  • Método final: Si se declara un método para ser final, nadie (ni siquiera usted) puede anularlo.

Estas cifras ponen estas reglas en perspectiva. Ellos muestran que no se puede extender el Cosas clase, porque el Cosas clase es final. Y, no se puede anular el Cosas la clase de incremento método porque eso incremento método es final.

Tratando de extender una clase final.
Tratando de extender una clase final.
Tratar de anular un método final.
Tratar de anular un método final.

Puede aplicar Java protegido palabra clave para los miembros de una clase. Esta protegido palabras clave siempre me ha parecido un poco extraño para algunos. En el uso común Inglés, cuando sus posesiones están "protegidos", sus posesiones no son tan disponibles como normalmente estarían.

Pero en Java, cuando Prefacio un campo o un método con el protegido palabra clave, hacen que el campo o un método un poco más disponibles de lo que sería por defecto, como se muestra en la figura.

Modalidades de acceso para los campos y métodos.
Modalidades de acceso para los campos y métodos.

Un miembro predeterminado de una clase (un miembro cuya declaración no contiene las palabras público, privado, o protegido) Puede ser utilizado por cualquier código dentro del mismo paquete que esa clase.

Lo mismo es cierto acerca de un protegido miembro de la clase. Pero, además, una protegido miembro se ha heredado el exterior del paquete de la clase por ninguna subclase de la clase que contiene ese miembro protegido.

¿Eh? ¿Qué quiere decir esta última frase, sobre protegido miembros? Para hacer las cosas concretas, esta cifra muestra la existencia despreocupada en el que dos clases están en el mismo paquete. Con ambos Cosas y Mis cosas en el mismo paquete, la Mis cosas clase hereda el Cosas por defecto de la clase valor variable y el Cosas por defecto de la clase incremento método.

Dos clases en el mismo paquete.
Dos clases en el mismo paquete.

Si mueve el Cosas clase a un paquete diferente, Mis cosas ya no hereda la Cosas por defecto de la clase valor variable o la Cosas por defecto de la clase incremento método, como se muestra aquí.

Las clases en diferentes paquetes.
Las clases en diferentes paquetes.

Pero si a su vez valor en un protegido variable y se enciende incremento en un protegido método, el Mis cosas clase otra vez hereda su clase padre de valor variable y incremento método, como se muestra aquí.

Utilizando el modificador protegida.
Utilizando el modificador protegida.

Observe un detalle más en las figuras. los Mis cosas la clase de incremento método fue cambiado de forma predeterminada a público. Esto se hizo para evitar ver un pequeño mensaje de error interesante. No se puede reemplazar un método con otro método cuyo acceso es más restrictivo que el método original. En otras palabras, no se puede anular un método público con un método privado. Ni siquiera se puede anular un método público con un método por defecto.

Acceso por defecto de Java es más restrictivo que el acceso protegido, como se muestra en esta figura. Así no se puede anular un método protegido con un método por defecto.

image6.jpg

En este ejemplo, todo el asunto se evitó al hacer pública la Mis cosas la clase de incremento método. De esa manera, la incremento método con el tipo menos restrictiva de acceso fue anulada.




» » » » Modificadores de Java