Fundamentos de Java II

24
JAVA BASICO Ing. Marco Antonio Toscano Freire

description

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

Transcript of Fundamentos de Java II

Page 1: Fundamentos de Java II

JAVA BASICO

Ing. Marco Antonio Toscano Freire

Page 2: Fundamentos de Java II

CONCEPTOS AVANZADOS

public

Excepcio

n

es

abstract

privateprotect

ed

Page 3: Fundamentos de Java II

• 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.::

Page 4: Fundamentos de Java II

• 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.::

Page 5: Fundamentos de Java II

• 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.::

Page 6: Fundamentos de Java II

• 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.::

Page 7: Fundamentos de Java II

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

Page 8: Fundamentos de Java II

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.::

Page 9: Fundamentos de Java II

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.::

Page 10: Fundamentos de Java II

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.::

Page 11: Fundamentos de Java II

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

Page 12: Fundamentos de Java II

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.::

Page 13: Fundamentos de Java II

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?.::

Page 14: Fundamentos de Java II

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

Page 15: Fundamentos de Java II

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.::

Page 16: Fundamentos de Java II

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.::

Page 17: Fundamentos de Java II

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.::

Page 18: Fundamentos de Java II

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?.::

Page 19: Fundamentos de Java II

Existen tres maneras de controlar una excepción:

try, catch y finally

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

Page 20: Fundamentos de Java II

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?.::

Page 21: Fundamentos de Java II

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?.::

Page 22: Fundamentos de Java II

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.::

Page 23: Fundamentos de Java II

RECURSOS paper

s

tutoriales

información

Page 24: Fundamentos de Java II

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.::