Otros modificadores de acceso para miembros
Los metodos finales no pueden ser sobreescritos en una subclaseLos metodos abstractos tienen que ser declarados con un tipo de retorno y los argumentos, pero no deben de ser implementadoslos metodos abstractos terinan con punto y coma no con llaves ejemplo: anAbstractMethod();Hay 3 formas de reconocer que un metodo no es abstracto
-->El metodo no esta marcado como abstracto
-->El metodo tiene llaves "{}"
-->El metodo tiene codigo entre las llaves
La primera clase concreta que extienda a una clase abstracta debe de implementar todos los metodos abstractos de esta clase y de sus clases padres en caso de que estas existan y sean abstractasLos metodos abstractos deben de ser implementados por alguna subclase, por esta razon:
-->Los metodos abstractos no pueden ser private
-->Los metodos abstractos no pueden ser final
El modificador Synchronized aplica solo a metodosLos metodos sincronizados pueden tener cualquier modificador de acceso y tambien pueden ser marcados como finalLos metodos sincronizados no pueden ser abstractosEl modificador native se aplica solo a metodosEl modificador strictfp aplica solo a metodos y clasesLas variables de instancia pueden
-->tener cualquier modificador de control
-->Ser marcdas como final o transient
LAs variables de instancia no pueden ser declaradas abstract, syncronized, native ni strictfpEs legal llamar a cualquier variable local con el mismo nombre de una variable de instancia, esto se le conoce como "shadowing"LAs variables finales tienen las siguientes propiedades:
-->Las variables finales no pueden ser reinizializadas cuando se les agrega un valor
-->Las referencias finales no pueden apuntar hacia un objeto diferente una vez que han sido asignadas a un objeto.
-->Las referencias fiales deben de ser inicializadas antes que el constructor se complete.
No existe un "Objeto final", el hecho de que una referencia sea final, no sognifica que no podamos cambiar el valor del objeto El modificador trancient aplica solo a variables de instanciaEl modificador volatile aplica solo a variables de instancia
No hay comentarios:
Publicar un comentario