Fundamentos de Java II

Preview:

DESCRIPTION

Diapositiva donde se explican el tema del casting, interfaces, collections y exceptions.

Citation preview

JAVA BASICO

Ing. Marco Antonio Toscano Freire

CONCEPTOS AVANZADOS

public

Excepcio

n

es

abstract

privateprotect

ed

• Es el proceso de convertir un tipo de dato a otro. Existen dos tipos de

casting, los cuales son:

• Implícito.- Sucede cuando un tipo de dato con menor jerarquía es

promovido a un tipo de dato con mayor jerarquía pero sin realizar

ninguna operación adicional. Por ejemplo en el caso de datos

primitivos la jerarquía es la siguiente: byte short int long

float double.

::.Conversión de Datos: Casting.::::.Conversión de Datos: Casting.::

• En el caso de Objetos sucede exactamente lo mismo, pero con la

diferencia que el un objeto debe de heredar del otro. Por ejemplo

tenemos dos Clases Persona y Empleado que hereda de persona

entonces yo podría hacer un casting implícito tomando en cuenta la

jerarquía: Empleado Persona como se muestra en el ejemplo a

continuación:

• Otro ejemplo de casting implícito ocurre cuando se realiza operaciones

con asignación

::.Conversión de Datos.::::.Conversión de Datos.::

• Tomando en cuenta dos valores a = 12 y b = 5 podríamos pensar que

el resultado es 2.4 pero verificarán que no es así ya que la operación

se realiza anteriormente al casting, es decir el casting ocurre en la

asignación.

• Explícito.- Sucede cuando un tipo de dato con mayor jerarquía es

promovido a un tipo de dato con menor jerarquía pero necesitamos

exponerle o cambiarlo explícitamente como se muestra en la siguiente

figura:

::.Conversión de Datos.::::.Conversión de Datos.::

• En este caso realizamos el casting nosotros antes de la asignación

por lo que el resultado esperado de 2.4 es el correcto.

Autoboxing.- Permite realizar la conversión automática de tipos de

datos primitivos a sus respectivos Wrapper. Por ejemplo: de int a

Integer, de double a Double etc.

Inboxing.- Es la operación inversa del autoboxing, la cual permite la

conversión automática de los diferentes Wrappers a tus datos

primitivos.

::.Conversión de Datos.::::.Conversión de Datos.::

::.Conversión de Datos.::::.Conversión de Datos.::

Las interfaces generalmente hablando somos como “contratos” en los

cuales existen dos partes el contratante y el o los contratados los cuales

deben cumplir ciertas reglas sin importar como lo hagan, de esta

manera se podría definir a una interfaz.

En lo que respecta a Java , una interfaz es un tipo referencia similar a

una clase pero con ciertas diferencias que se denotan a continuación:

Las interfaces no pueden ser instanciadas, solo pueden ser

implementadas por una clase o extendidas por otras interfaces.

Las variables son solo constantes.

Solo se pueden definir métodos abstractos ( no tienen cuerpo),

son solo definiciones de métodos.

::.Interfaces en JAVA.::::.Interfaces en JAVA.::

Para crear una interfaz se lo hace muy similar a una clase con la

diferencia que en vez de la palabra reservada class utilizamos la

palabra reservada interface. Además que desaparece la palabra

reservada implements, la sintaxis es la siguiente:

<nivel acceso> interface nombreInterfaz <extends> nombreInterfaz

::.Interfaces en JAVA.::::.Interfaces en JAVA.::

Una inner Class es una clase normal con ciertas variaciones que se define

dentro de una clase por lo cual es tratada como una variable dentro de la

misma.

Entre una de las diferencias que tiene una inner Class es que puede tener

cualquiera de los modificadores de acceso definidos para una variable

excepto public ya que dentro de un archivo .java solamente puede existir una

clase pública.

Existen tres formas de crear un Inner Class:

• Declarando a la clase dentro del cuerpo de un método – local InnerClass

• Declarando a la clase dentro del cuerpo del método sin nombrarlo –

anonymous InnerClass.

• Declarando a la clase fuera de un método, como un miembro más –

nested InnerClass.

::. InnerClass.::::. InnerClass.::

Dentro de un método como clase nombrada

::.Inner Class.::::.Inner Class.::

Dentro de un método como clase

anónimaSolo puede acceder a variables finales declaradas en el método donde fue llamado.Constructores en tiempo de creación, no se puede especificar nombresSolo existe o es utilizada cuando se llama al método

No se puede utilizar modificadores de acceso en la definición de la claseSolo existe o es utilizada cuando se llama al método

Dentro de un clase como miembro

Cabe destacar ciertos características entre las cuales podemos mencionar:

• No existe relación de herencia entre las Outer e Inner Class.

• Una Inner Class puede acceder a todos los recursos privados de la Outer

Class

::.Inner Class.::::.Inner Class.::

Para poder utilizar una Inner Class debemos identificar el modo en que fue

declarado, el más común es a nivel de miembro ya que las otras Inner

Classes declaradas a nivel de método solo existen dentro del mismo.

Para crear una instancia de una Inner Class lo hacemos a través de una

instancia de la clase contenedora (Outer Class) siempre y cuando la Inner

Class no sea estática o privada.

::. Como usar una Inner Class?.::::. Como usar una Inner Class?.::

Una clase abstracta se identifica con la palabra reservada abstract .

Es una clase que representa algo que no puede materializar, es decir

solamente representa una clase modelo que define estados y métodos

comunes para las demás clases. Por ejemplo: Fruta, Instrumento

Una clase abstract solo se puede heredar, nunca instanciar.

Una clase abstract puede tener métodos abstractos (sin cuerpo) y

métodos no abstractos.

::.Clases abstractas.::::.Clases abstractas.::

Métodos Abstractos

Una clase final se identifica con la palabra reservada final .

Es una clase final es una clase que no puede instanciarse ni heredarse

es decir son clases que definen un comportamiento estático. Se utiliza

cuando se quiere asegurar que ninguna clase puede cambiar su

comportamiento, clases inmutables, ejemplo de éstas clases tenemos

la clase String.

::.Clases Final.::::.Clases Final.::

Una excepción es asociada con un problema o error en JAVA, el cual

ocurre durante la ejecución del mismo interrumpiendo el flujo normal de

instrucciones.

Cuando un error ocurre se crea un objeto llamado Exception Object el

cual contiene información acerca del error incluyendo el tipo y el estado

del programa cuando el error ocurrió.

Existen tres clases de excepciones:

Checked Exception.- Se denotan por todos los errores que

pueden ser controlados es decir que podemos anticiparnos y

controlarlos antes de que sucedan. Pueden ser o no ser

chequeadas o controladas, Por ejemplo leer un archivo que no

exista.

::.Manejo de Excepciones.::::.Manejo de Excepciones.::

Error.- Son errores que son externos a la aplicación los cuales no

pueden anticiparse y controlarse. Por ejemplo mal funcionamiento

del hardware.

Runtime Exception.- Son errores internos a la aplicación los

cuales no pueden anticiparse y controlarse. Generalmente indican

errores de programación, mal empleo de la lógica.

::.Manejo de Excepciones.::::.Manejo de Excepciones.::

Para controlar una excepcion una de las formas es utilizar los bloques

try-catch-finally:

Try Block.- En este bloque se coloca todas las instrucciones de

código que podrían provocar errores.

Catch Block(s).- Cada bloque catch es un manejador de

excepcion que maneja el tipo de excepción que es indicada por su

argumento. Además contiene código que es ejecutado una vez

producido el error.

Finally Block.- Es un bloque que se ejecuta siempre haya o no

ocurrido un error, el cual es muy útil para realizar disposición o

liberación de recursos.

::.Como contralar una excepción?.::::.Como contralar una excepción?.::

Existen tres maneras de controlar una excepción:

try, catch y finally

::.Formas de controlar una excepción?.::::.Formas de controlar una excepción?.::

Delegando o lanzando el control de la excepción al nivel superior,

es decir al padre donde fue llamado para lo cual utilizamos la

palabra reservada throws junto con la excepción a controlar antes

de las llaves iniciales del método

::.Formas de controlar una excepción?.::::.Formas de controlar una excepción?.::

Creando nuestra propias excepciones para lo cual debemos crear

una clase que herede de Exception y luego llamarlo con la

palabra reservada throw seguido de la instanciación de nuestra

exception.

::.Formas de controlar una excepción?.::::.Formas de controlar una excepción?.::

Las colecciones en JAVA son objetos que nos permiten referenciar o

almacenar a grupo de objetos independientemente del tipo de dato que

se vaya a almacenar dentro del mismo, la razón se fundamenta en que

a diferencia de los arreglos normales que referencian o almacenan a un

cierto tipo de dato las colecciones solo tienen referencia a objetos

del tipo Object.

Entre las características que les diferencian a las colecciones de otros

objetos JAVA especialmente los arreglos están:

Nos permiten despreocuparnos del tamaño que tendrán las

colecciones.

Proveen algoritmos de ordenamiento

Facilidad de manipulación de datos.

::.Colecciones en JAVA.::::.Colecciones en JAVA.::

RECURSOS paper

s

tutoriales

información

http://www.dzone.com/links/index.html - Papers

http://www.parleys.com/display/PARLEYS/Home -

Conferencias

http://www.javahispano.org/ - Noticias

http://java.sun.com/reference/docs/ - Documentación

Canal Youtube Matoosfe – Vídeos Java.

Sitios Web

::.Recursos.::::.Recursos.::