Lenguaje Java

Plan your projects and define important tasks and actions

Get Started. It's Free
or sign up with your email address
Rocket clouds
Lenguaje Java by Mind Map: Lenguaje Java

1. Una clase que herede de otra clase en el proceso de desarrollo de un programa se debe usar la palabra reservada extends

2. Orígenes

2.1. En el 91 se inicia un proyecto para sistemas empotrados

2.2. Se desarrolla OAK en el 93, un lenguaje portable pero seguro.

2.3. Se anuncia en el 95 el lenguaje Java por la empresa SUN

2.4. En el 2004 se anuncia una versión de Java que incluye programación genérica

3. Características

3.1. Simple y orientado a objetos

3.2. Robusto y seguro

3.3. Interpretado, neutro de la arquitectura y portable

3.4. Distribuido y alto desempeño

3.5. Multi-hebra

3.6. Dinámico

4. Ejemplo de aplicación en Java

4.1. Código en consola

4.2. Comentarios

4.2.1. // texto

4.2.1.1. Se ignota el texto hasta el final de la línea

4.2.2. /* texto */

4.2.2.1. Se ignora todo el texto entre /* y */

4.2.3. /^^ texto ^^/

4.2.3.1. Comentarios de documentación

4.3. Main

4.3.1. Cuando se ejecuta un programa, el intérprete invoca el main

4.3.2. Éste tiene un arreglo único que es una cadena de strings

5. Tecnología Java

5.1. Orientado a objetos

5.2. Sintaxis similar a C++

5.3. Gran acogida por parte de programadores

6. Recursos del sistema

6.1. System

6.1.1. Ejemplo

6.2. Applets

6.2.1. Aplicación ligera de corto alcance

6.2.2. Usada en navegadores webs

6.2.3. Posee un modelo diferente de ejecución

6.2.4. Ejemplo

7. Importación de clases y paquetes

7.1. import

7.1.1. permite utilizar clases de un paquete, ejemplo import java.applet.*

7.2. Subclases

7.2.1. Palabra reservada extends permite definir una sublclase a partir de otra

7.3. Implementar métodos

7.3.1. Se puede implementar uno o más métodos

8. Conceptos básicos del lenguaje Java

8.1. Utiliza Unicode, conjunto de caractéres de 16 bits

8.2. Es sensible a mayúsculas y minúsculas

8.3. Identificadores

8.3.1. Ejemplo

8.3.2. No se pueden utilizar como identificador a las palabras reservadas

8.3.3. los identificadores deben comenzar con letra, _ o $, seguido de letras o dígitos.

8.4. Tipos de datos

8.4.1. Primitivos

8.4.2. Referenciados

8.4.2.1. Dirección o conjunto de valores (arreglos, interfaz, clases)

8.5. Operadores

8.5.1. Se asocia por la izquierda, excepto por la asignación que es por la derecha

8.5.2. La procedencia puede cambiar usando los paréntesis

8.6. Expresiones

8.6.1. Se evalúa de derecha a izquiera

8.6.2. Se evalúan antes de realizar la operación

8.6.3. Tipos

8.6.3.1. Implícita

8.6.3.1.1. Es automática

8.6.3.1.2. Entre valores primitivos se permite cuando soporta un mayor rango de valores

8.6.3.1.3. Una referencia a un objeto de una clase incluye una instancia de cada supertipo

8.6.3.2. Explícita

8.6.3.2.1. La conversión se denomina cast

8.6.3.2.2. Se puede usar referencias a objetos con conversión no segura.

8.7. Operadores aritméticos

8.7.1. Aritméticos

8.7.1.1. Suma +, Resta - , Multiplicación *, División /

8.7.1.2. Incremento a++, Decremento a--

8.7.1.3. Relacionales

8.7.1.3.1. Mayor qué >, Mayoro igual qué >=, Menor <, Menor o igual qué <=, Igual que ==, Diferente !=

8.7.1.4. Operadores al Bit

8.7.1.4.1. And &, Or |, Or exclusivo ^

8.7.1.5. Condicional

8.7.1.5.1. Ejemplo: valor = test ? exp1 : exp2

8.7.1.5.2. Define valor de respuestas y expresiones más compactas

8.7.1.6. Asignación

8.7.1.6.1. +=, -=, /=, *=, <<=, >>=, &=, ^=, |=

8.8. Sentencias de flujo

8.8.1. If - else

8.8.1.1. Ejemplo

8.8.2. switch

8.8.2.1. Ejemplo

8.8.3. while - do while

8.8.3.1. Ejemplo

8.8.4. for

8.8.4.1. Ejemplo

8.8.5. break

8.8.5.1. Permite salir desde cualquier bloque, no solo switch

8.8.5.2. Se usa para terminar una repetición como un bucle.

8.8.6. continue

8.8.6.1. Permite saltar a la siguiente a la final del cuerpo de una repetición y evaluar la condición de término

8.8.7. return

8.8.7.1. Permite terminar la ejecución de un método y retorna al invocador un valor o no.

9. Clases y Objetos

9.1. Clases

9.1.1. Contienen métodos que definen la computación

9.1.2. Estructura

9.1.3. Modificadores

9.1.3.1. public: clase que es accesible desde cualquier otra clase.

9.1.3.2. abstract: La clase no puede ser instanciada

9.1.3.3. final: La clase no puede ser derivada

9.1.4. Variables miembros:

9.1.4.1. static: los objetos con éste modificador tienen una única copia

9.2. Campos

9.2.1. Variables miembros que definen el estado

9.3. Control de acceso de miembros

9.3.1. Privado

9.3.1.1. Se declara con private y son sólo accesibles por la propia clase

9.3.2. Paquete

9.3.2.1. Miembros sin modificador de acceso, sólo accesibles por código y heredados por sublclases en el mismo paquete

9.3.3. Protegido

9.3.3.1. Declarados con protected, sólo accesibles por una subclase del mismo paquete

9.3.4. Público

9.3.4.1. declarados con public son accesibles por cualquier clase

9.4. Constructores

9.4.1. Un objeto recién creado debe inicializar las variables miembros

9.4.2. Los constructores tienen el mismo nombre de la clase y pueden recibir varios parámetros

9.4.3. Los constructores no retornan un valor, no son métodos

9.4.4. Ejemplo

9.4.4.1. Clase Nota

9.4.5. Control de acceso

9.4.5.1. private

9.4.5.1.1. Ninguna otra clase puede instanciar la clase

9.4.5.2. protected

9.4.5.2.1. Sólo subclases de la clase y clases del mismo paquete

9.4.5.3. public

9.4.5.3.1. Cualquier clase puede crear una instancia

9.4.5.4. Sin especificar

9.4.5.4.1. Sólo clases del mismo paquete y de la misma clase pueden crear instancias

9.5. Métodos

9.5.1. Los parámetros se pasan por valorm tanto como primitivos como referencias

9.5.2. Si el parámetro es una referencia, es la referencia la que se copia, no el objeto

9.5.3. Control de acceso

9.5.3.1. private: Para protefer los campos de un acceso externo, se usa el modificar private

9.5.3.2. accesor: Método que asegura sólo de lectura de manera indirecta

9.5.4. Referencia

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

9.5.5. Sobrecarga de métodos

9.5.5.1. Se permite tener varios métodos o constructores con un mismo nombre y diferentes parámetros

9.5.6. finalize

9.5.6.1. Permite ejecutar un método de finalización antes de liberar memoria

9.6. Miembros estáticos

9.6.1. Un miembro estático es único para toda una clase

9.6.2. Variable

9.6.2.1. Existe una única variable para todos los objetos de una clase

9.6.3. Método

9.6.3.1. Se invoca en nombre de toda la clase, típicamente usando los nombre de la clase, se llaman métodos de clase

9.7. Clases anidadas

9.7.1. Permite definir una clase como miembro de otra clase.

9.7.2. Ésta clase tiene acceso total a todos los miembros de la clase a que pertenece

9.8. Clases internas

9.8.1. No se puede definir miembros estáticos

9.8.2. Permite relacionar objetos de las clases relacionadas

9.8.3. Puede ser pública o privada

9.8.3.1. Ejemplo

10. Herencia

10.1. Todas las clases son extendidas directa o indirectamente de la clase Object

10.2. Reglas de herencia

10.2.1. Una subclase hereda todos los miembros protegidos, públicos, sin modificador (paquete)

11. Interfaces

11.1. Es declarar tipos consistentes solo de métodos abstractos y constantes

11.2. Éstas son útiles para el diseño correcto de software

11.3. Ejemplo

12. Excepciones

12.1. Evento que interrumpe el flujo normal de la ejecución

12.2. Cuando ocurre tal tipo de evento en un método, se lanza (throw) una excepción, creando un objeto especial, se pasa un runtime para manejar la excepción

12.3. Ventajas

12.3.1. Se separa el código de manejo de errores del código normal

12.3.2. Propaga errores a través de los métodos que se encuentran activos en el stack

12.3.3. Permite agrupar errores y diferenciar errores

13. Archivos

13.1. Clases básicas de archivos

13.1.1. FileReader

13.1.1.1. Lectura de caractéres

13.1.2. FileWriter

13.1.2.1. Escritura de caractéres

13.1.3. FileInputStream

13.1.3.1. Lectura de bytes

13.1.4. FileOutputStream

13.1.4.1. Escritura de bytes

13.2. Clase File

13.2.1. No corresponde a un stream, que permite tener representación abstracta de archivos y directorios

13.2.2. Posee métodos tales como, crear directorio, renombrar, borrar, listar, etc.

13.3. Clase RandomAccessFile

13.3.1. intskiBytes: Mueve el puntero el número de bytes indicando hacia adelante

13.3.2. void seek(long): Posiciona el puntero justo antes del byte especificado

14. Clases y Objetos

14.1. Clases contienen métodos

14.2. Campos y variables definen el estado de un objeto

14.3. Modificadores de la clase

14.3.1. public

14.3.1.1. Accesible desde cualquier lugar

14.3.2. abstrac

14.3.2.1. No puede ser instanciada

14.3.3. final

14.3.3.1. No puede ser derivada

14.4. Control de acceso a miembros

14.4.1. privado

14.4.1.1. Accesibles desde la propia clase

14.4.2. protegido

14.4.2.1. Accesible desde las relaciones de clases y subclases

14.4.3. público

14.4.3.1. Accesibles desde cualquier lugar

14.5. Métodos

14.5.1. Se manipula el estado d euna variable

14.5.2. Valores de parámetros

14.5.2.1. Se paran valor los parámetros en java

14.5.2.2. El parámetro es una referencia entonces no se copia, solo el objeto

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

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

14.5.3. Sobrecarga de métodos

14.5.3.1. Cada método tiene una firma

14.5.3.2. Se puede tener varios métodos con un mismo nombre, pero diferente parámetros

14.5.4. Miembros estáticos

14.5.4.1. Variable de miembro estático

14.5.4.1.1. Existe una única variable para todos los objetos de la clase

14.5.4.2. Método estático

14.5.4.2.1. Se invoca en nombre de toda la clase

14.5.4.3. Métodos nativos

14.5.4.3.1. Permite que java use código no escrito en java

14.5.4.3.2. El método se invoca desde java

14.5.4.4. Clases anidadas

14.5.4.4.1. Se define como miembro de otra clase

14.5.4.4.2. Clase anidada tiene acceso total a todos los miembros de la clase que pertenece