Publicado el 20 de Marzo del 2018
1.597 visualizaciones desde el 20 de Marzo del 2018
4,3 MB
269 paginas
Creado hace 12a (25/01/2012)
2
Esta obra de ´Oscar Belmonte et al. est´a bajo una licencia Creative
Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported
´Indice general
1. Introducci´on
1.1. Origen del lenguaje de programaci´on Java . . . . . . . . . . . . .
1.2. Caracter´ıstica de Java . . . . . . . . . . . . . . . . . . . . . . . .
1.3. El entorno de desarrollo integrado Eclipse . . . . . . . . . . . . .
13
13
14
15
1.3.1. Principales caracter´ısticas del entorno de desarrollo Eclipse 16
1.3.2. Descarga e instalaci´on de Eclipse . . . . . . . . . . . . . .
16
16
1.3.3. Configurando el aspecto de Eclipse: Perspectivas y Vistas
18
1.3.4. El primer ejemplo . . . . . . . . . . . . . . . . . . . . . .
21
1.4. Herramientas de desarrollo . . . . . . . . . . . . . . . . . . . . . .
. .
22
1.4.1. A˜nadiendo nueva funcionalidad a Eclipse: los plug-ins
2. Clases
2.3. Tipos de datos en Java.
2.1. Definici´on de una clase . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Miembros de una clase . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Atributos de una clase . . . . . . . . . . . . . . . . . . . .
2.2.2. M´etodos de una clase.
. . . . . . . . . . . . . . . . . . . .
2.2.3. Constructores.
. . . . . . . . . . . . . . . . . . . . . . . .
2.2.4. Sobrecarga de m´etodos y constructores . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Arrays de datos en Java. . . . . . . . . . . . . . . . . . . .
2.4. Estructuras de control. . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1. Estructuras de control de repetici´on. . . . . . . . . . . . .
2.4.2. Estructuras de control de selecci´on. . . . . . . . . . . . . .
2.5. Modificadores de acceso. . . . . . . . . . . . . . . . . . . . . . . .
2.6. Modificadores static y final.
. . . . . . . . . . . . . . . . . . .
2.7. El recolector de basura.
. . . . . . . . . . . . . . . . . . . . . . .
2.8. Finalizaci´on.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9. Comentarios. Comentarios de documentaci´on. . . . . . . . . . . .
3. Herencia e Interfaces
3.1. Herencia.
3.2. Extensi´on de una clase.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
3.2.1. Sobrescribir atributos.
3.2.2. Sobrescribir m´etodos.
. . . . . . . . . . . . . . . . . . . .
3.2.3. La palabra reservada super. . . . . . . . . . . . . . . . . .
3.2.4. El constructor por defecto y la clase Object.
. . . . . . .
. . . . . . . . . . . . . . . . . .
3.2.5. El operador instanceof.
3.2.6. El modificador final.
. . . . . . . . . . . . . . . . . . . .
23
24
25
25
26
28
32
33
34
36
37
39
40
42
43
44
45
51
52
52
54
56
59
59
60
61
3
4
´INDICE GENERAL
3.2.7. M´etodos static. . . . . . . . . . . . . . . . . . . . . . . .
3.3. Clases abstractas. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.
Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Enumeraciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Paquetes en Java. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
3.7. Clases e interface anidados
4. Subversion
4.1. ¿Qu´e es un sistema de control de versiones? . . . . . . . . . . . .
4.2. Principales caracter´ısticas de Subversion . . . . . . . . . . . . . .
4.3. Creaci´on de un repositorio . . . . . . . . . . . . . . . . . . . . . .
4.4. Trabajo con repositorios . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
4.4.1. Obteniendo informaci´on del repositorio
Integraci´on con Eclipse . . . . . . . . . . . . . . . . . . . . . . . .
4.5.
5. Excepciones
5.1. ¿Qu´e es una excepci´on? . . . . . . . . . . . . . . . . . . . . . . .
5.1.1. Tipos de excepciones . . . . . . . . . . . . . . . . . . . . .
5.2. C´omo se gestiona una excepci´on . . . . . . . . . . . . . . . . . .
5.3. Creaci´on de excepciones propias . . . . . . . . . . . . . . . . . . .
62
63
65
68
69
71
75
76
76
77
78
82
84
87
87
88
88
91
6. Pruebas unitarias con JUnit
6.1.1. Principios FIRST para el dise˜no de pruebas unitarias
93
94
6.1. ¿Qu´e son las pruebas unitarias? . . . . . . . . . . . . . . . . . . .
94
. .
95
6.2. Pruebas unitarias con JUnit . . . . . . . . . . . . . . . . . . . . .
95
6.2.1. Creaci´on de clases de prueba . . . . . . . . . . . . . . . .
96
6.2.2. La anotaci´on @Test . . . . . . . . . . . . . . . . . . . . .
98
6.2.3. Las anotaciones @Before y @After . . . . . . . . . . . . .
6.2.4. Las anotaciones @BeforeClass y @AfterClass . . . . . .
99
6.2.5. Pruebas con bater´ıa de datos de entrada . . . . . . . . . . 100
. . . . . . . 101
6.2.6. Ejecutar varias clases de prueba. Test Suites
. . . . . . . . . . . . . . . . . . . . . . 102
6.3.1. EclEmma y su plug-in para Eclipse . . . . . . . . . . . . . 103
6.3. Cobertura de las pruebas
7. Entrada y Salida
105
7.1. Flujos (Streams)
. . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.2. Flujos de bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3. Flujos de caracteres
. . . . . . . . . . . . . . . . . . . . . . . . . 108
7.4. Conexi´on entre flujos de bytes y de caracteres . . . . . . . . . . . 109
. . . . . . . . . . . . . . 110
7.5. El sistema de ficheros y flujos a ficheros
. . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . 110
7.6. Serializaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.5.1. El sistema de ficheros
7.5.2. Flujos a ficheros
8. Algunas clases de utilidad del paquete est´andar
117
8.1. La clase Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.2. Trabajo con cadenas de caracteres
. . . . . . . . . . . . . . . . . 120
8.2.1. La clase String . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.2. Las clases StringBuffer y StringBuilder . . . . . . . . 121
8.3. Clases recubridoras . . . . . . . . . . . . . . . . . . . . . . . . . . 122
´INDICE GENERAL
5
8.4. Colecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.5. Trabajo con fechas . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.5.1. La clase Date . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.5.2. Las clases Calendar y GregorianCalendar . . . . . . . . 129
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.6.1. La clase Math . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.6.2. La clase Random . . . . . . . . . . . . . . . . . . . . . . . 130
8.6. Matem´aticas
9. Programaci´on con gen´ericos
133
9.1. ¿Qu´e son los tipos de datos gen´ericos? . . . . . . . . . . . . . . . 133
9.2. M´etodos gen´ericos
. . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.3. Clases gen´ericas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.4. Ampliaci´on del tipo gen´erico
. . . . . . . . . . . . . . . . . . . . 138
9.4.1. Tipos gen´ericos con l´ımite superior . . . . . . . . . . . . . 139
9.4.2. Comodines
. . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.5. Borrado de tipo y compatibilidad con c´odigo heredado . . . . . . 141
10.Construcci´on de proyectos con Ant
143
10.1. Qu´e es Ant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.2. Definici´on del proyecto . . . . . . . . . . . . . . . . . . . . . . . . 144
10.2.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.2.2. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.3. Compilar el c´odigo fuente de un proyecto . . . . . . . . . . . . . 146
10.4. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.5. Estructuras path-like . . . . . . . . . . . . . . . . . . . . . . . . 147
10.6. Ejecuci´on de las Pruebas Unitarias . . . . . . . . . . . . . . . . . 148
10.7. Generaci´on de la documentaci´on . . . . . . . . . . . . . . . . . . 150
10.8. Empaquetado de la aplicaci´on . . . . . . . . . . . . . . . . . . . . 151
10.9. Ejecuci´on y limpieza . . . . . . . . . . . . . . . . . . . . . . . . . 151
11.Interfaces gr´aficas de usuario
153
11.1. APIs para la programaci´on de interfaces gr´aficos de usuario en
Java: AWT y Swing . . . . . . . . . . . . . . . . . . . . . . . . . 154
11.2. Contenedores y Componentes . . . . . . . . . . . . . . . . . . . . 155
11.3. Gestores de Aspecto (Layout Managers) . . . . . . . . . . . . . . 155
11.4. Detecci´on de eventos: Escuchadores . . . . . . . . . . . . . . . . . 157
11.5. Algunos componentes Swing . . . . . . . . . . . . . . . . . . . . . 162
11.5.1. JLabel, muestra texto o iconos . . . . . . . . . . . . . . . 162
11.5.2. JButton, botones que el usuario puede pulsar . . . . . . . 162
11.5.3. JTextField, campos de introducci´on de texto . . . . . . . 163
11.5.4. JRadioButton, botones de opciones
. . . . . . . . . . . . 164
11.5.5. JCheckBox, botones de selecci´on m´ultiple . . . . . . . . . 166
11.5.6. JList, listas de selecci´on . . . . . . . . . . . . . . . . . . 166
11.6. El patr´on de dise˜no Modelo/Vista/Controlador . . . . . . . . . . 168
12.Applets
173
12.1. ¿Qu´e son los Applets? . . . . . . . . . . . . . . . . . . . . . . . . 173
12.2. Ciclo de vida de un Applet
. . . . . . . . . . . . . . . . . . . . . 174
12.3. C´odigo HTML para contener un Applet . . . . . . . . . . . . . . 175
12.4. Lectura de par´ametros de la p´agina HTML . . . . . . . . . . . . 176
6
´INDICE GENERAL
. . . . . . . . . . . 176
12.5. Convertir una aplicaci´on Swing en un Applet
12.6. Comunicaci´on entre Applets . . . . . . . . . . . . . . . . . . . . . 177
13.Control de errores con MyLyn y Bugzilla
181
13.1. Sistema de control de tareas MyLyn . . . . . . . . . . . . . . . . 182
13.1.1. Cual es el objetivo de MyLyn . . . . . . . . . . . . . . . . 182
13.1.2. Trabajar con MyLyn . . . . . . . . . . . . . . . . . . . . . 182
13.2. Sistema de gesti´on de errores Bugzilla . . . . . . . . . . . . . . . 188
13.2.1. Cual es el objetivo de Bugzilla . . . . . . . . . . . . . . . 188
13.2.2. Instalaci´on de Bugzilla . . . . . . . . . . . . . . . . . .
Comentarios de: desarrollo de proyectos informáticos con tecnología Java (0)
No hay comentarios