miércoles, 12 de noviembre de 2008

Metodos sobreescritos(Overriding)

Los metodos pueden ser sobreescritos o sobrecargados, los constructores pueden ser sobrecargados pero no sobreescritos.
Los metodos estaticos deben(obligatoriamente) ser sobreescritos por la primera clase concreta no abstracta.
Caracteristicas de los metodos sobreescritos:
-->Deben tener la misma lista de argumentos.
-->Deben tener el mismo tipo de retornos, excepto por que apartir de java 5 , el tipo de retorno puede ser una subclase,esto es conocido como retorno covariante.
-->No debe de tener un tipo de acceso mas restrictivo.
-->No bede de lanzar nuevas excepciones o excepcionnes que no sean las excepciones ya lansadas o sus sublcases.
-->Puede lanzar nuevas excepciones que sea subclases de las excepciones ya lanzadas o cualquier unchecked exception(excepciones en tiempo de ejecucion)

Los metodos finales no pueden ser sobreescritos.
Solo los metodos heredados pueden ser sobreescritos, y recuerda que los metodos privados no son sobreescritos.
una subclase una la sintaxis super.nombreDelMetodoSobreescrito() para llamar a la version de la superclase del metodo.
El tipo de objeto(no la variable de referencia), determina cual tipo de metodo sobreescrito es llamado en tiepo de ejecucion.

No hay comentarios: