Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
JAVA por Mind Map: JAVA

1. Introducción

1.1. Características

1.1.1. Simple y Orientado a Objetos

1.1.2. Robusto y Seguro

1.1.3. Interpretado y Portable

1.1.4. Distribuido y de Alto Desempeño

1.1.5. Multi-Hebra

1.1.6. Dinámico

1.2. Aplicación

1.2.1. Ejecuta función main

1.2.2. Carga dinámicamente otras clases

1.3. Comentarios

1.3.1. Permite comentar partes del código

1.4. Método main

1.4.1. Al ejecutar la aplicación se invoca al main

1.4.2. Tiene un argumento único, un arreglo de Strings

1.5. Importación de Cases y Paquetes

1.5.1. La palabra import permite hacer el proceso de importar

1.6. Definición de Subclases

1.6.1. Se utiliza la palabra extends

1.7. Funcionalidad

1.7.1. Escencial

1.7.2. Interfaces Gráficas

1.7.3. Comunicación en la Red y Applets

1.7.4. Internacionalización

1.7.5. Seguridad

1.7.6. Threads

1.7.7. Componentes de software

1.7.8. Serialización de Objetos

1.7.9. Acceso a Base de Datos

2. Conceptos Básicos

2.1. Identificadores

2.1.1. Sirven para identificar en ente del lenguaje.

2.2. Variables Constantes y Tipos Primitivos

2.2.1. Variable

2.2.1.1. Ítem de datos nombrado por un identificador.

2.2.1.2. Tiene ámbito

2.2.2. Tipos de Datos

2.2.2.1. Características

2.2.2.1.1. Define los posibles valores.

2.2.2.1.2. Las direcciones son implícitas

2.2.2.2. Tipos

2.2.2.2.1. Primitivos

2.2.2.2.2. Referencias

2.2.3. Constantes

2.2.3.1. Almacenan valores que no cambian en la ejecución del programa

2.2.4. Características

2.2.4.1. Modificador es opcional.

2.2.4.2. Aparecen en cualquier parte del código

2.2.4.3. Visibilidad solo en el bloque donde está declarada.

2.2.4.4. Java asigna valores por omisión

2.2.4.5. Las variables se inicializa cada ves que se ejecuta su declaración

2.3. Operadores

2.3.1. Características

2.3.1.1. Tiene un orden y precedencia

2.3.1.2. La precedencia se cambia usando paréntesis

2.3.2. Expresiones

2.3.2.1. Se evalúan de izquierda a derecha

2.3.2.2. Operadores se evalúan antes

2.3.2.3. Tiene un tipo

2.3.3. Conversión de Tipos

2.3.3.1. Implícita

2.3.3.2. Explícita

2.3.4. Tipos de Operadores

2.3.4.1. Aritméticos

2.3.4.2. Incremento y Decremento

2.3.4.3. Relacionales

2.3.4.4. A nivel de Bit

2.3.4.5. Condicional

2.3.4.6. Asignación

2.4. Control de Flujo

2.4.1. Tipos de sentencias

2.4.1.1. if-else

2.4.1.2. switch

2.4.1.3. while y do-while

2.4.1.4. for

2.4.1.5. break

2.4.1.6. continue

2.4.1.7. return

3. Clases y Objetos

3.1. Características

3.1.1. Tiene métodos que definen el comportamiento

3.1.2. Tiene atributos que define el estado

3.2. Modificadores de la Clase

3.2.1. public

3.2.2. abstract

3.2.3. final

3.3. Variables Miembros

3.3.1. Son las variables de la clase

3.3.2. Cada objeto tiene sus propias variables miembro

3.3.3. Pueden llevar el modificador static

3.3.4. Variables miembros se refieren a los no estáticos

3.3.5. Control de acceso

3.3.5.1. public

3.3.5.2. protected

3.3.5.3. private

3.3.5.4. paquete

3.4. Creación de Objetos

3.4.1. Se usa el operador new, para que el runtime cree el objeto

3.4.2. Si no hay memoria se libera con el Garbage collector

3.4.3. El runtime devuelve la referencia al objeto

3.5. Constructores

3.5.1. Inicializa las variables miembro

3.5.2. Tienen el mismo nombre que la clase

3.5.3. Una clase puede tener varios constructores

3.5.4. Si no se escribe uno el compilador agrega uno por defecto llamado contructor por omisión

3.5.5. Control de acceso

3.5.5.1. public

3.5.5.2. protected

3.5.5.3. private

3.5.5.4. no especificado

3.6. Métodos

3.6.1. Manipula el estado del objeto

3.6.2. Pueden recibir parámetros

3.6.3. Control de acceso

3.6.3.1. private

3.6.3.2. public

3.6.4. Sobrecarga de métodos

3.6.4.1. Cada método tiene su firma

3.6.4.2. Java permite tener varios métodos con el mismo nombre pero con diferentes parámetros

3.6.5. Métodos Especiales

3.6.5.1. Finalize

3.6.5.2. Main

3.6.5.3. toString

3.6.5.4. Nativos

3.7. Referencia this

3.7.1. Solo en métodos no estáticos.

3.7.2. Implícitamente se usa this en cada miembro de un objeto

3.7.3. Usado para referenciar al objeto actual.

3.7.4. Usado cuando existe ocultamiento de información.

3.8. Recolector de Basura

3.8.1. Para eliminar las clases implícitamente

3.8.2. No requiere invocar al administrador de memoria.

3.9. Clases Anidadas

3.9.1. Definir una clase como miembro de otra

3.9.2. Útil para referencias de clase.

3.9.3. Clases Internas

3.9.3.1. Clase Anidada estática

3.9.3.1.1. No tiene acceso a métodos no estáticos.

3.9.3.1.2. Selecciona clases, no instancias

3.9.3.2. Clase interna

3.9.3.2.1. No puede definir métodos estáticos

3.9.3.2.2. Pública o Privada

3.9.3.2.3. Permite crear objetos de la clase interna dentro de la clase a la que pertenece.

4. Herencia

4.1. Clases Extendidas

4.1.1. Todas las clases son extendidas

4.1.2. Única superclase

4.2. Reglas de Herencia

4.2.1. Subclases heredan todos los miembros

4.2.2. Existen colisiones de nombre

4.2.2.1. Variables se ocultan

4.2.2.2. Métodos se sobreescriben

4.2.2.2.1. Sobrecarga

4.2.2.2.2. Redefinición

4.3. Constructor en Clases Extendidas

4.3.1. Para usar el constructor de la clase padre

4.3.2. Se lo llama con la palabra super

4.4. Clase Object

4.4.1. Raíz de todas las clases

4.4.2. Se hereda todos los métodos de object

4.4.2.1. Método para soportar threads

4.4.2.2. Método de Utilidad General

4.4.2.2.1. equals()

4.4.2.2.2. hasCode()

4.4.2.2.3. clone()

4.4.2.2.4. getClass()

4.4.2.2.5. finalize()

4.4.2.2.6. toString()

4.4.2.3. Método de Utilidad General

4.5. Clonación de Objetos

4.5.1. Método que permite clonar objetos

4.5.2. Implementar Interfaz Clonable

4.6. Clases y Métodos Abstractos

4.6.1. Clases que revelan parte de su implementación

4.6.2. Clase puede tener métodos definidos y abstractos.

5. Interfaces y Paquetes

5.1. Interfaces

5.1.1. Lista de métodos abstractos

5.1.2. Cuerpo

5.1.2.1. Constantes son públicas, estáticas y finales

5.1.2.2. Métodos son abstractos y publicos

5.1.2.3. No se acepta private, protected

5.1.3. Implementación

5.1.3.1. Interfaz define un conjunto de métodos abstractos

5.1.3.2. Las clases que implementan las interface están obligadas a implementar los métodos.

5.1.4. Herencia Múltiple

5.1.4.1. Una interface puede extender múltiples interfaces

5.1.5. Extensión de Interfaces

5.1.5.1. Pueden tener Super-Interfaces

5.1.5.2. Clases hijas heredan métodos de las clases padres

5.2. Paquetes

5.2.1. Concepto

5.2.1.1. Contiene clases, interfaces y subpaquetes.

5.2.2. Definición

5.2.2.1. Se define en la primera línea de el código fuente de cada clase

5.2.2.2. Una forma de hacer referencia externa es anteponer el nombre del paquete a cada tipo

5.2.2.3. Se puede referenciar mediante el import

5.2.3. Colisiones de Nombre

5.2.3.1. Cuando dos paquetes tienen el mismo nombre y requieren ser usados.

5.2.3.2. Una solución es los paquetes anidados.

5.2.4. Control de acceso

5.2.4.1. Público

5.2.4.2. Paquete

5.2.5. Recomendaciones

5.2.5.1. Se debe definir paquetes para clases e interfaces relacionadas

5.2.5.2. Se puede hacer paquetes anidados.

6. Tipos de Datos

6.1. Arreglos

6.1.1. Características

6.1.1.1. Agrupaciones de elementos primitivos o referencias

6.1.1.2. Tamaño definido

6.1.1.3. No se pueden extender

6.1.2. Uso

6.1.2.1. Declaración de un arreglo sin tamaño

6.1.2.2. Creación de un arreglo vacío

6.1.2.3. Acceso a un elemento

6.1.2.4. Obtener tamaño del elemento

6.2. Caracteres y Strings

6.2.1. Tipos

6.2.1.1. Caracter

6.2.1.1.1. Métodos

6.2.1.2. String

6.2.1.2.1. Métodos

6.2.1.3. StringBuffer

6.2.1.3.1. Métodos

6.3. Números

6.3.1. Métodos

6.3.1.1. byteValue

6.3.1.2. doubleValue

6.3.1.3. floatValue

6.3.1.4. intValue

6.3.1.5. longValue

6.3.1.6. shortValue

6.3.2. Se utiliza para las funciones matemáticas

6.4. Date

6.4.1. Maneja fechas y horas

6.4.2. Constructor entrega hora y fecha del sistema

6.4.3. Operaciones

6.4.3.1. Suma

6.4.3.2. Comparación

6.4.3.3. Formato

7. Manejo de Excepciones

7.1. Concepto

7.1.1. Evento que interrumpe el flujo del programa

7.1.2. Se lanza una excepción con throw

7.1.3. Se busca en el stack métodos que manejen la excepción

7.2. Ventajas

7.2.1. Separa el código de manejo de errores

7.2.2. Propaga los errores con métodos del stack

7.2.3. Agrupa y diferencia errores.

7.3. Jerarquía

7.3.1. Throwable

7.3.1.1. Error

7.3.1.2. Exception

7.3.1.2.1. IOException

7.3.1.2.2. RuntimeException

7.4. Tipo de Excepciones

7.4.1. No verificadas

7.4.2. Verificadas

7.5. Métodos

7.5.1. Advierte al compilador sobre excepciones que no pueda manejar

7.5.2. Declara todas las excepciones verificadas

7.6. Capturar Excepción

7.6.1. Se utiliza un bloque try ....  catch

7.7. Clausula Finally

7.7.1. Cuando se lanza una excepción se detiene el procesamiento del objeto

7.7.2. La solución es una clausula finally que se ejecuta haya o no excepción antes de retornar.

8. Stream y Archivos

8.1. Streams Básicos

8.1.1. Clases Básicas

8.1.1.1. InputStream

8.1.1.1.1. Características

8.1.1.1.2. API

8.1.1.2. OutputStream

8.1.1.2.1. Características

8.1.1.2.2. API

8.1.1.3. Reader

8.1.1.3.1. Métodos

8.1.1.4. Writer

8.1.1.4.1. Métodos

8.1.2. Características

8.1.2.1. Java posee 60 clases de Stream

8.1.2.2. Todas heredan de las básicas

8.1.2.3. Clases básicas solo pueden leer y escribir

8.2. Archivos

8.2.1. Clases Básicas

8.2.1.1. FileReader

8.2.1.2. FileWriter

8.2.1.3. FileInputStream

8.2.1.4. FileOutputStream

8.2.2. Constructores

8.2.2.1. FileInputStream(String)

8.2.2.2. FileInputStream(new File(String))

8.2.2.3. FileInputStream(FileDEscriptor)

8.2.3. Clase File

8.2.3.1. No corresponde a un Stream

8.2.3.2. Definida en paquete java.io

8.2.3.3. Posee métodos propios

8.2.4. Clase RandomAccesFile

8.2.4.1. skipBytes()

8.2.4.2. seek()

8.2.4.3. getFilePointer()

8.2.5. Streams y Archivos Zip

8.2.5.1. Archivar unos o mas archivos en formato comprimido

8.2.5.2. Archivos con cabecera de información

8.2.5.3. Java tiene algunas clases de compresión

8.2.5.3.1. ZipInputStream

8.2.5.3.2. ZipOuputStream

8.2.5.3.3. ZipEntry

8.2.5.3.4. ZipFile