Fundamentos de Java II
-
Upload
martosfre -
Category
Technology
-
view
179 -
download
2
description
Transcript of Fundamentos de Java II
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.::