viernes, 3 de octubre de 2008

Miembros de las clases(Metodos y variables de instancia)

Accesos default y protected
El acceso default y protected sólo se diferencian cuando hablamos de subclases, hay qué pensar en el aceso default como un acceso a nivel de paquetes es decir cuando intantamos accesar a un miembro qué es protected sólo podemos hacerlo si estadentro del mismo paquete a(y lo unstanciamos. Correctamente) si intantamos entrar desde una clase fuera del paquete nos va a mandar un error de compilación dicendonos que el miembro no existe
Por que de hecho no es siquera visible fuera del paquete, cuando intentamos acceder fuera de este nos manda una espantosa X.
Ahora cuando hablamos de protected las reglas del juego cambian como en el big brother com protected si podemos acceder fuera del paquete pero solo por medio de herencia es decir solo los hijos de la clase pueden acceder pero no por medio de una instancia sino llamando al método directamente o lo que es lo mismo usado el operador this, si queremos instanciarlo nos va a mandar far... Far away
VARIABLES LOCALES
No esxiste ningún modificador de acceso que pueda usarse con las variables locales, el único modificador que permiten las variables locales es el final.
OTROS MODIFICADORES PARA MIEMBROS
Existen varios modificadores para miembros como son final abstract strictfp volatile transient sinchronized static y native primrero veremos laos que se aplican a loa métodos
METODOS FINAL
Los métodos final no pueden ser sobreeacritos, bistros podemos usarlos pero si tratamos de sobreescribirlos nos manda un error de xompilacion esto se hace cuando queremos asegurarnis que nadiie pueda cmbiar el comportamiento de nuestros metodos
ARGUMENTOS FINAL
UN argumento es prácticamente lo mismo que una variable local, cuando declaramos un argumeto como final nos aseguramos de que los valores que les pasemos a esos mtods no pueden ser cambiados.(o el objeto al que refiere en u caso)
MÉTODOS ABSTRACTOS
Un metodo abstract termina con punto y coma y no puede se definido en la clase en las que es declarada, ose no ponemos una implementación del método sólo ponemos los modificadores de acceso el nombre del método y los argumentos , pero nunca lo implementamos,.
Un metodo abstracto debe de estar dentro de una clase abstracta, sin embargo piedra esxistir métodos comcretos dentro de una clase abstracta, va de nuevo , si un simple método es declarado abstracto la clase estera deber de ser abstracta, si no nos manda un error de compilación , sin embargo pueden existir clases abstractas con sólo métodos concretos.
La primera clase concreta que extienda a una clase abstracta debe implementar los métodos abstractos de está y de todas sus superclases.
El modificador abstract no lo podemos mezclar con final ni private, simplemete por que no tendríamos forma de implementarla, tampoco puede ser static.
SYNCRONIZED
un método sincronizado sólo puede accederse por un hilo a la vez, al acceso sinchronized sólo aplica a métodos y nada más.

No hay comentarios: