Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
JAVA par Mind Map: JAVA

1. Características

1.1. Simple y Orientado a Objetos

1.2. Robusto y seguro

1.3. Interpretado, neutro de la arquitectura y portable

1.4. Distribuido y alto desempeño

1.5. Multi-hebra

1.6. Dinámico

2. Entorno

2.1. Comentarios en Java

2.1.1. //TEXTO

2.1.2. /*TEXTO*/

2.1.3. /**TEXTO*/

2.2. Método main

2.2.1. El interpretador lo invoca al ejecutarse una aplicación Java

2.2.2. Tiene un argumento único: Arreglo de Strings

2.3. Permite acceder a recursos del Sistema: con el paquete System (API Java)

2.4. Applets

2.4.1. Uso normal es en un Web Browser

2.4.2. Diferente Modelo de Ejecución

2.5. Importación de Clases y Paquetes con la palabra reservada import. Ejm: import.java.applet*

2.6. Definición de subclases con la palabra reservada extends

3. Funcionalidad

3.1. Esencial

3.2. Interfaces Gráficas

3.3. Comunicación en la Red y Applets

3.4. Internacionalización

3.5. Seguridad

3.6. Threads(hebras)

3.7. Componentes de Software (JavaBean)

3.8. Serialización de Objetos

3.9. Acceso uniforme a Base de Datos y sus relaciones

4. Conceptos Básicos

4.1. Conjunto de Caracteres: Utiliza Unicode, 16 bits

4.2. Identificadores: Case sensitive y deben inicar con una letra

4.3. Palabras reservadas: abstract, continue, for, new, switch, assert, default, goto, package, synchronized, boolean, do, if, private, this, break, double, implements, protected, throw, byte, else, import, public, throws, case, enum, instanceof, return, transient, catch, extends, int, short, try, char, final, interface, static, void, class, finally, long, strictfp, volatile, const, float, native, super, while.

5. Variables, Constantes y Tipos Primitivos

5.1. Variable debe ser declarada antes de su uso

5.2. Variables esta nombrada por un identificador

5.3. Tipos de Datos

5.3.1. Primitivos: Entero, real, booleano y caracter

5.3.1.1. byte: Entero de un byte 8 bits, C-2 short: Entero corto 16 bits, C-2 int: Entero 32 bits, C-2 long: Entro largo 64 bits, C-2 float: Punto flotante de precisión simple 32 bits, IEEE 754 double: Punto flotante de precisión doble 64 bits, IEEE 754 char: Caracter 16 bits, Unicode boolean: Booleano (true y false)

5.3.2. Referencias: Arreglo, clase e interfaz

5.4. No soporta punteros

5.5. Declaración de Variables: [modificador]tipo de variable {,variable}*

6. Operadores

6.1. Conversión de Tipo

6.1.1. Implícita: Es automática

6.1.2. Explícita: Se denomina cast. Ejm: long d=(long) i;

6.2. Operadores Ariméticos

6.2.1. Suma + Resta - Multiplicación * División / Residuo o módulo %

6.3. Operadores de Incremento y Decremento

6.3.1. variable++ y variable-- aunque existen en forma prefija y postfija

6.4. Operadores Relacionales

6.4.1. Mayor que > Mayor o igual que >= Menor que < Menor o igual que <= Igual que == Diferente !=

6.5. Operadores al Bit

6.5.1. AND al bit & OR inclusivo al bit | OR exclusivo al bit ^ Corrimiento a la izquierda << (rellenando con 0) Corrrimiento a la derecha >> (rellenando con el signo) Corrimiento a la derecha >>> (rellenando con 0)

6.6. Operador Condicional

6.6.1. La forma valor = test ? exp1 : exp2;

6.7. Operador de Asignación

6.7.1. =

6.7.2. Java soporta otras formas de asignación +=, -=, *=, /=, %=, >>=, <<= ,>>>=, &=, ^=, |=

7. Clases y Objetos

7.1. Clases

7.1.1. Contienen los métodos que definen la computación

7.1.2. Estructura Lógica: Nombre, Atributos y Métodos

7.1.3. Modificadores: public, asbtract y final

7.1.4. Control de acceso a Variables Miembros (Atributos de Clase)

7.1.4.1. private

7.1.4.2. protected

7.1.4.3. public

7.1.5. Creación de Objetos

7.1.5.1. Persona p1; Persona p2 = new Persona(“Pedro”);

7.1.5.2. Constructores: Un objeto recién creado debe inicializar las variables miembro

7.1.5.2.1. Ejemplo: public Persona (String s) { ID = ++nextID; Nombre = s; }

7.1.5.2.2. Modificadores de Acceso

7.1.5.2.3. Si no se define constructor, se asume un constructor sin argumentos, que no hace nada

7.1.6. Métodos

7.1.6.1. Un método se entiende para manipular el estado del objeto (variables miembro)

7.1.6.2. Para proteger campos de un acceso externo se usa el modificador private

7.1.6.3. Es recomendable usar accesores para proteger el estado de los objetos

7.1.6.4. Referencia this: Sólo se puede usar en un método no estático, y se refiere al objeto actual sobre el que se invocó el método

7.1.6.5. Sobrecarga de Métodos

7.1.6.5.1. Java permite tener varios métodos con un mismo nombre, pero diferentes parámetros

7.1.6.5.2. Miembros Estáticos: Un miembro estático es único para toda una clase, en vez de tener uno por objeto

7.1.6.6. Recolección de Basura: Java realiza recolección automática de basura, el programador no requiere liberar explícitamente los objetos

7.1.6.7. Método finalize: Permite ejecutar un método de finalización antes de liberar memoria

7.1.6.8. Método main: El método mainse debe encontrar en cada aplicación Java

7.1.6.9. Método toString: Si un objeto soporta el método public String toString(), este método se invoca en cualquier expresión en que el objeto aparezca con los operadores + y +=

7.1.7. Clases Anidadas

7.1.7.1. Java permite definir una clase como miembro de otra clase

7.1.7.2. Si clase anidada se declara estática, se llama clase anidada estática

7.1.8. Clases Internas

7.1.8.1. Si no es estática, es una clase interna

8. Caracteres, String y Otros Tipos de Datos

8.1. Arreglos

8.1.1. Arreglos en Java son agrupaciones ordenadas de elementos

8.1.2. Los índice varían desde 0 a largo-1

8.1.3. Los arreglos no se pueden derivar

8.2. Caracteres y Strings

8.2.1. Clases básicas

8.2.1.1. Character

8.2.1.1.1. Métodos

8.2.1.2. String

8.2.1.2.1. Contiene métodos comunes con el StringBuffer

8.2.1.3. StringBuffer

8.2.1.3.1. StringBuffer debe siempre usar new para crear un string

8.3. Números

8.3.1. Clase Number y sus métodos

8.3.2. Funciones matemáticas

8.3.2.1. exponenciación logaritmos raíz cuadrada Funciones trigonométricas Máximos y mínimos Redondeos etc.

8.3.3. Formato

8.3.3.1. Los programas almacenan y operan números en forma independiente de la localidad

8.3.3.2. Java provee soporte para realizar tales conversiones en paquete java.text

8.4. Date

8.4.1. Clase java.util.Date

8.4.2. Útil para manejar datos fecha/hora

9. Streams y Archivos

9.1. Streams Básicos

9.1.1. Java provee dos clases básicas para bytes

9.1.1.1. InputStream : Secuencia de bytes de entrada

9.1.1.2. OutputStream : Secuencia de bytes de salida

9.2. Conjunto de Streams

9.2.1. Java provee más de 60 clases de streams

9.2.2. Todas las clases se derivan de las 4 clases básicas

9.3. Archivos

9.3.1. Clases Básicas

9.3.1.1. FileReader. Lectura de caracteres  FileWriter. Escritura de caracteres  FileInputStream . Lectura de bytes  FileOutputStream . Escritura de bytes

9.3.2. Clase File

9.3.2.1. No corresponde a un stream (se deriva de Object), que permite tener repesentación abstracta de archivos y directorios

9.3.2.2. Está definida en paquete java.io

10. Historia

10.1. 1991: James Gosling inicia proyecto de código independiente

10.2. 1993: Desarrolla un nuevo lenguaje (OAK)

10.3. 1994: Aparece WWW y Mosaic

10.4. 1995: Sun inicia disponibilidad de Java

10.5. 2004 : Versión J2se 1.5-Beta disponible

11. Tecnología

11.1. POO

11.2. Sintaxis Similar a C++

11.3. Contiene Máquina Virtual Java (JVM)

11.4. Tres Versiones: J2SE, J2EE, J2ME

11.5. Contiene Java API

12. Control de Flujo

12.1. Sentencias y Bloques

12.1.1. Sentencia if-else

12.1.1.1. if (exp-booleana) sent1 else sent2

12.1.2. Sentencia switch

12.1.2.1. switch (valor) { case 0: case 2: case 4: case 6: case 8: System.out.println (“es par”); break; case 1: case 3: case 5: case 7: case 9: System.out.println (“es impar”); break; default: System.out.println (“es impar”); }

12.1.3. Sentencia while y do-while

12.1.3.1. while (exp-boolena ) sentencia

12.1.3.2. do sentencia while (exp-boolena );

12.1.4. Sentencia for

12.1.4.1. for (exp-inicial; exp-boolena; exp-incremento) sentencia

12.1.5. Sentencia break: Permite salir desde cualquier bloque.

12.1.6. Sentencia continue: Permite saltar al final del cuerpo de una repetición y evaluar la condición del término.

12.1.7. Sentencia return: Terminar la ejecución de un método y retorna al invocador.

13. Herencia

13.1. Clases Extendidas

13.1.1. En Java todas las clases son extendidas

13.1.1.1. Toda clase se deriva (quizás indirectamente) de la clase Object

13.1.2. Java sólo permite tener una única superclase (herencia simple)

13.2. Reglas

13.2.1. Una subclase hereda todos los miembros

13.2.1.1. públicos

13.2.1.2. protegidos

13.2.1.3. sin modificador (paquete)

13.2.2. Colisiones de nombres

13.2.2.1. En el caso de una variable miembro, ésta se oculta

13.2.2.2. En el caso de un método, éste es redefinido (overriden)

13.3. Redefinición de Varaibles Miembros

13.3.1. Los campos no se pueden realmente redefinir, sólo pueden ser ocultados

13.3.2. Para accederlos se puede usar referencia super

13.4. Redefinición de Métodos

13.4.1. Para la definición de métodos donde existe coincidencia de nombres

13.4.1.1. Sobrecarga: Definir más de un método con el mismo nombre, pero con diferente firma

13.4.1.2. Redefinición: Reemplaza la implementación de la superclase

13.4.2. Métodos que no se pueden redefinir

13.4.2.1. Métodos finales

13.4.2.2. Métodos Estáticos

13.4.3. Métodos que se deben redefinir

13.4.3.1. Métodos que han sido declarados abstractos en la superclase

13.5. Constructores en clases extendidas

13.5.1. Se invoca el constructor de la superclase (sino se especifica cual, se usa el por omisión)

13.5.2. Inicializar los campos usando sentencias de inicialización

13.5.3. Ejecutar el cuerpo del constructor

13.6. Modificador final

13.6.1. Variable. La variable no puede ser modificada (constante)

13.6.2. Método. El método no puede ser redefinido

13.6.3. Clase. La clase no se puede derivar (implícitamente todos sus métodos son finales)

13.7. Clase Object

13.7.1. Todas las clases tienen a Object como raíz, por lo tanto heredan sus métodos

13.7.2. Métodos

13.7.2.1. Métodos de utilidad general

13.7.2.2. Métodos para soportar hebras (threads)

13.8. Clonación de Objetos

13.8.1. El método clone permite clonar un objeto

13.8.2. Una clase que permite clonar objetos normalmente implementa la interfaz Cloneable

13.9. Clases y Métodos Abstractos

13.9.1. Permite definir clases que definen sólo parte de su implementación

14. Interfaces y Paquetes

14.1. Interfaces

14.1.1. Interfaz es una simple lista de métodos abstractos (no implementados)

14.1.2. Cuerpo

14.1.2.1. Todas las constantes son implícitamente

14.1.2.1.1. públicas

14.1.2.1.2. estáticas

14.1.2.1.3. finales

14.1.2.2. Todos los métodos son implícitamente

14.1.2.2.1. públicos

14.1.2.2.2. abstractos

14.1.2.3. No se aceptan otros modificadores (e.g. private, protected y synchronized)

14.1.3. Implementación

14.1.3.1. Una referencia a una interfaz permite suponer que los métodos existen

14.1.3.2. Una clase que “implementa” una interfaz se compromete a “implementarlos”.

14.1.4. Herencia

14.1.4.1. Herencia Simple vs Múltiple

14.1.4.1.1. Una clase puede extender exactamente una superclase

14.1.4.1.2. Una interfaz puede extender múltiples interfaces

14.1.4.1.3. Java evita el problema permitiendo sólo herencia simple para clases

14.1.4.2. Extensión de interfaces

14.1.4.2.1. Al igual que las clases, las interfaces pueden tener súper-interfaces.

14.1.4.2.2. La interfaz hija “hereda” las definiciones de la interfaz padre

14.1.4.2.3. En este caso se permite herencia múltiple

14.2. Paquetes

14.2.1. Contiene clases, interfaces y subpaquetes que están relacionados

14.2.2. Definición

14.2.2.1. En la primera línea de cada archivo fuente de una clase o interfaz debe aparecer: package <nombre>

14.2.2.2. El nombre del paquete implícitamente se antepone al nombre de la clase o interfaz

14.2.2.3. Código externo al paquete puede referenciar a tipo internos del paquete de acuerdo a las reglas de control de acceso

14.2.3. Control de Acceso

14.2.3.1. Clases e Interfaces tienen dos accesos

14.2.3.1.1. Público. Si se califican con public esta permitido su acceso fuera del paquete

14.2.3.1.2. Paquete. Sino se declara public, su acceso se restringe dentro del paquete

14.2.3.2. Miembros de clase declarados

14.2.3.2.1. Sin modificador de acceso son accesibles dentro del paquete, pero fuera de él

14.2.3.2.2. Miembros no privados son accesibles por cualquier código del paquete (son amistosos)

14.2.3.3. Paquetes de Java

14.2.3.3.1. java.lang java.io java.util java.math java.awt java.net java.rmi java.applet java.sql java.beans java.security etc.

15. Manejo de Excepciones

15.1. Una excepción corresponde a un evento que interrumpe el flujo normal de ejecución

15.2. Jerarquía

15.2.1. Error: Representa un error interno irrecuperable o agotamiento de recursos en el sistema de runtime de Java

15.2.2. Exception: Representa una situación excepcional en el programa.

15.2.2.1. Subclases

15.2.2.1.1. RuntimeException se debe a un error de programación

15.2.2.1.2. IOException son por algún otro problema

15.3. Tipos

15.3.1. Excepciones no verificadas (unchecked)

15.3.2. Excepciones verificadas (checked)

15.4. Métodos

15.4.1. Un método advierte al compilador sobre excepciones que no puede manejar lanzándola con throws

15.5. Capturar Excepciones

15.5.1. Sentencia try permite definir un bloque de sentencias para las cuales se quiere definir un manejador de excepciones

15.5.2. Para cada clase de excepción se define un manejador diferente con catch