JAVA BASICO
Ing. Marco Antonio Toscano Freire
CONCEPTOS
AVANZADOS

ab
t strac
protect
ed

publi
c
privat
e

pc
ce
Ex
es

on
i
::.Conversión de Datos: Casting.::
::.Conversión de Datos: Casting.::
•

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.::
::.Conversión de Datos.::
•

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

a tus datos
::.Conversión de Datos.::
::.Conversión de Datos.::
::.Interfaces en JAVA.::
::.Interfaces en JAVA.::


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

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,

nested InnerClass.

como un miembro más –
::.Inner Class.::
::.Inner Class.::
Dentro de un método como clase nombrada
No se puede utilizar
modificadores de acceso en la
definición de la clase
Solo existe o es utilizada
cuando se llama al método

Dentro de un método como clase
anónima

Solo puede acceder a variables
finales declaradas en el
método donde fue llamado.
Constructores en tiempo de
creación, no se puede
especificar nombres
Solo existe o es utilizada
cuando se llama al método
::.Inner Class.::
::.Inner Class.::
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
::. Como usar una Inner Class?.::
::. Como usar una 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.
::.Clases abstractas.::
::.Clases abstractas.::


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.
Métodos
Abstractos
::.Clases Final.::
::.Clases Final.::


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.
::.Manejo de Excepciones.::
::.Manejo de Excepciones.::


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.pueden ser controlados

Se denotan por todos los errores que
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.
::.Como contralar una excepción?.::
::.Como contralar una excepción?.::


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.
::.Formas de controlar una excepción?.::
::.Formas de controlar 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.
::.Colecciones en JAVA.::
::.Colecciones en JAVA.::


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

tut
es oria
l

er
p

pa
s

inform
aci
ón
::.Recursos.::
::.Recursos.::
Sitios Web


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.

-

Fundamentos de Java II

  • 1.
    JAVA BASICO Ing. MarcoAntonio Toscano Freire
  • 2.
  • 3.
    ::.Conversión de Datos:Casting.:: ::.Conversión de Datos: Casting.:: • 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.
  • 4.
    ::.Conversión de Datos.:: ::.Conversiónde Datos.:: • 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
  • 5.
    ::.Conversión de Datos.:: ::.Conversiónde 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:
  • 6.
    ::.Conversión de Datos.:: ::.Conversiónde 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 primitivos. a tus datos
  • 7.
  • 8.
    ::.Interfaces en JAVA.:: ::.Interfacesen JAVA.::  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.
  • 9.
    ::.Interfaces en JAVA.:: ::.Interfacesen 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
  • 10.
    ::. InnerClass.:: ::. InnerClass.::  Unainner 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, nested InnerClass. como un miembro más –
  • 11.
    ::.Inner Class.:: ::.Inner Class.:: Dentrode un método como clase nombrada No se puede utilizar modificadores de acceso en la definición de la clase Solo existe o es utilizada cuando se llama al método Dentro de un método como clase anónima Solo puede acceder a variables finales declaradas en el método donde fue llamado. Constructores en tiempo de creación, no se puede especificar nombres Solo existe o es utilizada cuando se llama al método
  • 12.
    ::.Inner Class.:: ::.Inner Class.:: Dentrode 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
  • 13.
    ::. Como usaruna Inner Class?.:: ::. Como usar una 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.
  • 14.
    ::.Clases abstractas.:: ::.Clases abstractas.::  Unaclase 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. Métodos Abstractos
  • 15.
    ::.Clases Final.:: ::.Clases Final.::  Unaclase 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.
  • 16.
    ::.Manejo de Excepciones.:: ::.Manejode Excepciones.::  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.pueden ser controlados Se denotan por todos los errores que 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.
  • 17.
    ::.Manejo de Excepciones.:: ::.Manejode 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.
  • 18.
    ::.Como contralar unaexcepción?.:: ::.Como contralar una excepción?.::  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.
  • 19.
    ::.Formas de controlaruna excepción?.:: ::.Formas de controlar una excepción?.::  Existen tres maneras de controlar una excepción:  try, catch y finally
  • 20.
    ::.Formas de controlaruna 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
  • 21.
    ::.Formas de controlaruna 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.
  • 22.
    ::.Colecciones en JAVA.:: ::.Coleccionesen JAVA.::  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.
  • 23.
  • 24.
    ::.Recursos.:: ::.Recursos.:: Sitios Web  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. -