Sie sind auf Seite 1von 37

Bloques de construccin

CAPTULO 1

Java 8 (1Z0-808)
2
Objetivos
Conceptos bsicos Tipos de dato

Definir el alcance de variables. Declarar e inicializar variables (casting,


Definir la estructura de una clase. tipos primitivos).
Crear y ejecutar aplicaciones desde Diferenciar entre variables de referencia
consola. de objeto y variables primitivas.
Importar paquetes. Saber leer o escribir en los campos de un
Comparar y contrastar caractersticas y objeto.
componentes de Java. Explicar el ciclo de vida de un objeto
(creacin, "desreferencia por
reasignacin" y recoleccin de basura).

Java 8 (1Z0-808)
3
Estructura de una clase

Java 8 (1Z0-808)
4
Clases y archivos
Las clases por lo general son pblicas, pero se puede omitir el modificador de
acceso.
Cada clase est definida en su propio archivo *.java, pero es vlido colocar
ms de una clase en un archivo.
Cada archivo solo puede tener una clase pblica (public).
El archivo se debe de llamar igual que la clase pblica.
Los *.java se compilan con el comando javac.
Cada clase al ser compilada crea su propio archivo *.class.
Los *.class se ejecutan con el comando java.

Java 8 (1Z0-808)
5
Campos y mtodos
Las clases Java tienen 2 elementos primarios, que son:

1. Campos: llamados tambin variables, almacenan el estado de un programa.


2. Mtodos: llamados tambin funciones o procedimientos, modifican el estado
de un programa.

Ambos elementos se conocen como miembros de clase.

Java 8 (1Z0-808)
6
Mtodo main()
Un programa Java inicia su ejecucin con el mtodo main().
Es el enlace entre el proceso Java y el cdigo del programa.
Se encarga de mantener vivo el programa.
La firma del mtodo es public static void main(String[] args) {}.

Java 8 (1Z0-808)
7
Comentarios
Los comentarios no son cdigo ejecutable y se pueden colocar en cualquier parte
de la clase, el objetivo de los comentarios es hacer el cdigo ms fcil de
entender. Hay 3 tipos de comentarios:

1. Una lnea: inician con // y finaliza al cambiar de lnea


2. Mltiples lneas: inician con /* y finalizan con */
3. Javadoc: similar a multi-lnea pero estos empiezan con /**

Java 8 (1Z0-808)
8
Declaracin e importacin de paquetes

Java 8 (1Z0-808)
9
Paquetes
Los paquetes son la forma en que Java organiza las clases (package).
Los paquetes son un agrupamiento lgico de clases.
Los paquetes son jerrquicos, inician de lo general a lo especfico.
Los paquetes java y javax son del JDK.
Las clases de paquetes se incluyen, de forma global, en otras clases con
import.
Se pueden usar wildcards para incluir todas las clases de un paquete.
La importacin especfica tiene mayor precedencia que los wildcards.
java.lang es un paquete especial que no necesita importase.

Java 8 (1Z0-808)
10
Creacin de objetos

Java 8 (1Z0-808)
11
Constructores
La creacin de una instancia de clase se hace con new, con lo que se ejecuta
el constructor de la clase.
Un constructor tiene el mismo nombre de la clase y no tiene tipo de retorno.
El objetivo de un constructor es inicializar las variables de instancia, pero se
puede ejecutar otro tipo de cdigo.
Si no se declara un constructor el compilador agrega un constructor vaco de
forma predeterminada.

Java 8 (1Z0-808)
12
Orden de inicializacin
Las variables y bloques inicializadores de instancia se ejecutan en el orden
en que aparecen en la clase.
El constructor se ejecuta despus de las variables e inicializadores de
instancia.
Hay otras reglas que se vern ms adelante.

Java 8 (1Z0-808)
13
Referencias de objetos y tipos primitivos

Java 8 (1Z0-808)
14
Tipos primitivos
1. boolean: true or false
2. byte: 8-bit integral
3. short: 16-bit integral
4. int: 32-bit integral (soporta unsigned)
5. long: 64-bit integral (soporta unsigned)
6. float: 32-bit punto flotante
7. double: 64-bit punto flotante
8. char: 16-bit unicode (UTF-16)

Java 8 (1Z0-808)
15
Tipos primitivos
Los valores que se agregan a los tipos primitivos se conocen como literal.
Las literales integrales de forma predeterminada son del tipo int y las de
punto flotante son del tipo double. Para cambiar esto se puede usar:
float: f F
long: l L
double: d D
Es posible utilizar el sistema octal, hexadecimal y binario para los datos
numricos primitivos:
octal: dgitos 0-7, prefijo 0, ejemplo 017
hexadecimal: dgitos 0-9, letras A-F, prefijo 0x 0X, ejemplo 0xFF
binario: dgitos 0-1, prefijo 0b 0B, ejemplo 0b10

Java 8 (1Z0-808)
16
Tipos primitivos
Las literales char van entre comillas simples ( ), tambin se puede utilizar el
valor unicode (\u).
A partir de Java 7 se puede utilizar underscore para hacer ms legible los
tipos numricos, por ejemplo: 1000 puede ser 1_000:
No se puede agregar al inicio o final.
No se puede agregar antes o despus del punto decimal.

Java 8 (1Z0-808)
17
Tipo referencias
Un tipo referencia se refiere a un objeto. A diferencia de los tipo primitivos que
mantienen el valor en la memoria donde se asigna la variable, los tipo referencia
mantienen un puntero (direccin) de la memoria en donde se crea el objeto.

Una referencia se puede asignar a otro objeto del mismo tipo.


Una referencia se asigna a un nuevo objeto con new.
Una referencia se puede asignar a null.
Una referencia puede ejecutar mtodos.

Java 8 (1Z0-808)
18
Declarar e inicializar variables

Java 8 (1Z0-808)
19
Variables
Una variable es el nombre para un sector de memoria que almacena
informacin.
Una variable necesita un tipo (referencia o primitivo).
Las variables se pueden inicializar al momento de declararse.
Se pueden declarar e inicializar mltiples variables en la misma declaracin
(statement) siempre y cuando sean del mismo tipo.

Java 8 (1Z0-808)
20
Identificadores
Los identificadores son los nombres que se dan a variables, mtodos, clases, etc.
Se tienen 3 reglas para crear identificadores:

1. El nombre debe de empezar con una letra o los smbolos $ o _.


2. Los caracteres siguientes pueden ser nmeros.
3. No se pueden utilizar las palabras reservadas.

Java 8 (1Z0-808)
21
Inicializacin predeterminada de
variables

Java 8 (1Z0-808)
22
Variables locales
Las variables locales son las que se definen dentro de un mtodo.
No se les asigna un valor predeterminado al momento de declararse.
Si se utilizan sin ser inicializadas se obtiene un error de compilacin.
El compilador es capaz de identificar si una variable local se inicializa para
todos los bloques de cdigo dentro del mtodo.

Java 8 (1Z0-808)
23
Variables de instancia y de clase
Las variables de instancia y de clase son las que se definen fuera de los mtodos.
Las variables de instancia tambin son conocidas como atributos, y son nicas
por objeto.
Las variables de clase se comparten entre objetos (instancias), y se diferencia de
las variables de instancia porque tienen el calificador static.
Las variables de instancia y clase si tienen valor predeterminado:
boolean: false
byte, short, int, long: 0 (con la longitud de bits del tipo de dato)
float, double: 0.0 (con la longitud de bits del tipo de dato)
char: \u0000
Referencias: null

Java 8 (1Z0-808)
24
Alcance de variables

Java 8 (1Z0-808)
25
Alcance de variables
Variables de clase: alcance durante toda la vida del programa.
Variables de instancia: alcance durante todo la vida del objeto.
Variables locales: alcance slo en el mtodo y/o bloque en el que se
definieron.
Parmetros de mtodos: alcance solo en el mtodo en que se definieron.

Java 8 (1Z0-808)
26
Orden de elementos de una clase

Java 8 (1Z0-808)
27
Orden de elementos de una clase

Elemento Obligatorio Ubicacin

Declaracin de paquete No Al inicio del archivo

Importar paquetes No Despus del paquete

Declaracin de clase Si Despus de los imports

Atributos No En cualquier lugar dentro de la clase

Mtodos y/o bloques No En cualquier lugar dentro de la clase

Java 8 (1Z0-808)
28
Destruccin de objetos

Java 8 (1Z0-808)
29
Recolector de basura (garbage collector - GC)
El recolector de basura es un proceso independiente y automtico para liberar
memoria del HEAP borrando objetos que ya no son alcanzables por el programa
en ejecucin. Un objeto no es alcanzable cuando:

El objeto no tiene ninguna referencia apuntando hacia l.


Todas las referencias al objeto estn fuera de alcance.

Java 8 (1Z0-808)
30
Recolector de basura (garbage collector - GC)
Java provee el mtodo System.gc() que es una sugerencia para Java de que es
un buen momento para el GC pero Java puede ignorar la sugerencia.

Todos los objetos pueden implementar el mtodo finalize(). Este mtodo es


llamado por el GC cuando trata de recolectar el objeto. Si la recoleccin falla el
GC intentara ms tarde la recoleccin pero el mtodo finalize() ya no se
volver a ejecutar.

Java 8 (1Z0-808)
31
Resumen

Java 8 (1Z0-808)
32
Resumen
Una clase Java est formada por atributos y mtodos.
Existen 3 tipos de comentarios (1) una lnea, (2) multilnea, y (3) Javadoc.
La ejecucin de un programa inicia por el mtodo public static void
main(String[] args).
Las clase java se organizan en paquetes (package).
Para utilizar clases de otros paquetes se deben importar (import). Se puede
utilizar wildcards para importar clases.

Java 8 (1Z0-808)
33
Resumen
Los objetos se crean con new y el constructor. El constructor es un mtodo
que se llama igual que la clase y no tiene tipo de retorno. Cuando se
instancia un objeto los atributos y bloques inicializadores se ejecutan primero
luego se ejecuta el constructor.
Java tiene dos tipos de datos:
Primitivos: son 8 tipos de diferentes tamaos.
Referencia: es una direccin de memoria de tamao estndar.
Los valores asignados a los tipos primitivos se conocen como literales. Las
literales numricas se pueden escribir en sistema binario, octal, decimal o
hexadecimal.

Java 8 (1Z0-808)
34
Resumen
Para declarar una variable se debe de asignar un tipo y un identificador
(nombre).
Los identificadores pueden tener letras, nmeros, $, o _. Pero no pueden
empezar por nmero.
El alcance de una variable es la porcin de cdigo en donde puede ser
accedida.
En base al alcance las variables pueden ser: (1) de clase, (2) de instancia o
(3) locales.
Las variables de instancia y de clase tienen valores predeterminados, las
variables locales no.

Java 8 (1Z0-808)
35
Resumen
Existe un orden para los elementos de una clase: package (si hubiera),
import (si hubiera), definicin de clase, atributos y mtodos en cualquier
orden dentro de la clase.
El GC es el responsable de eliminar objetos de la memoria cuando ya no son
accesibles.
Los objetos no son accesibles cuando ya no tienen referencias hacia l o
estn fuera de alcance.
El mtodo finalize() se ejecuta una vez cuando el objeto es recolectado.

Java 8 (1Z0-808)
36
FIN

Java 8 (1Z0-808)
37

Das könnte Ihnen auch gefallen