domingo, 28 de septiembre de 2008

Otros modificadores de acceso para miembros

  • Los metodos finales no pueden ser sobreescritos en una subclase

  • Los metodos abstractos tienen que ser declarados con un tipo de retorno y los argumentos, pero no deben de ser implementados

  • los 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 abstractas

  • Los 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 metodos

  • Los metodos sincronizados pueden tener cualquier modificador de acceso y tambien pueden ser marcados como final

  • Los metodos sincronizados no pueden ser abstractos

  • El modificador native se aplica solo a metodos

  • El modificador strictfp aplica solo a metodos y clases

  • Las 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 strictfp

  • Es 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 instancia

  • El modificador volatile aplica solo a variables de instancia
  • No hay comentarios: