Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LIDIA
Laboratorio de Investigacin y
desarrollo en Inteligencia Artificial
Departamento de Computacin
Universidade da Corua, Espaa
ndice
1. Hola Mundo en Java
2. Compilacin en lnea
3. La herramienta NetBeans
Departamento de Computacin
Universidade da Corua
ndice
1. Hola Mundo en Java
Hola Mundo tradicional
Hola Mundo orientado a objetos
Departamento de Computacin
Universidade da Corua
Departamento de Computacin
Universidade da Corua
/**
* Clase que presenta el mensaje Hola Mundo
*/
class HolaMundo
{
public static void main (String [] args)
{
System.out.println (" Hola Mundo ");
}
}
Definicin de clase
Definicin de un mtodo
de la clase
Departamento de Computacin
Universidade da Corua
Departamento de Computacin
Universidade da Corua
class HolaMundoOO
un mtodo no esttico (necesita un
{
objeto para ser ejecutado)
denominado imprimeHola
public void imprimeHola()
{
System.out.println (" Hola Mundo ");
}
Creamos una nueva clase
}
nicamente para almacenar
el mtodo main
class HolaMundo
{
public static void main(String[] args)
{
HolaMundoOO miHola = new HolaMundoOO();
miHola.imprimeHola();
}
}
Departamento de Computacin
Llamamos al mtodo de
instancia imprimeHola
Universidade da Corua
ndice
2. Compilacin en lnea
Compilacin simple
Compilacin compleja
Compilacin con ant
Departamento de Computacin
Universidade da Corua
Compilacin en lnea
Compilacin simple
Como compilar un programa Java
El directorio en el que se encuentran las herramientas Java
debe estar en el path del sistema
Teclear javac nombrefichero.java
Obtendremos tantos ficheros .class como clases existen en el
fichero del cdigo fuente
Departamento de Computacin
Universidade da Corua
Compilacin en lnea
Compilacin simple
Departamento de Computacin
Universidade da Corua
10
Compilacin en lnea
Compilacin compleja
El caso anterior es tan sencillo como poco
realista para aplicaciones reales porque:
Mezcla los ficheros .java con los ficheros .class, algo
generalmente poco recomendable
No trabaja con paquetes (mdulos) de Java.
Los paquetes lgicos de Java se asocian con directorios
fsicos en el disco (y los subpaquetes con subdirectorios)
Al no existir paquetes todos los fuentes necesarios residen
en el mismo directorio
Departamento de Computacin
Universidade da Corua
11
Compilacin en lnea
Compilacin compleja
Imaginemos un nuevo ejemplo ms real en el que:
Los fuentes se sitan en el directorio src y los compilados en
el directorio build
La clase HolaMundo si sita en el paquete poo.holamundo lo
que implica que los fuentes tienen que estar en el subdirectorio
poo/holamundo
Utilizamos una clase Librera del paquete utilidades con un
mtodo imprime que dado un String lo imprime por pantalla
La librera se empaqueta en un fichero jar que se sita en el
directorio lib
La instruccin de compilacin sera:
javac -d build -classpath lib/Libreria.jar
src/poo/holamundo/HolaMundo.java
Departamento de Computacin
Universidade da Corua
12
Compilacin en lnea
Compilacin compleja
Clases HolaMundo
package poo.holamundo;
Clase Librera
import utilidades.Libreria;
class HolaMundoOO
{
public String devuelveHola()
{
return " Hola Mundo ";
}
}
public class HolaMundo
{
public static void main(String[] args)
{
HolaMundoOO miHola = new HolaMundoOO();
Libreria l = new Libreria();
l.imprime(miHola.devuelveHola());
}
}
package utilidades;
Departamento de Computacin
Universidade da Corua
13
Compilacin en lnea
Compilacin compleja
Departamento de Computacin
Universidade da Corua
14
Compilacin en lnea
Compilacin compleja
Problema
A medida que va creciendo en complejidad un proyecto tambin
crece la complejidad de las instrucciones de compilacin y
ejecucin
Departamento de Computacin
Universidade da Corua
15
Compilacin en lnea
Compilacin compleja
Solucin 2: ficheros make
La herramienta make (en sus distintas versiones) ha sido
tradicionalmente la solucin utilizada por C/C++ para compilar y
ejecutar programas
Est presente por defecto en las plaformas Unix/Linux
Problemas de portabilidad
Las distintas versiones de make (GNU, BSD) no son totalmente
compatibles entre s
Las herramientas pueden extenderse creando programas para el
SO operativo sobre el que se trabaja, pero eso nos liga a dicho SO
Adecuacin a Java
Make no fue creado para trabajar con Java, por lo que no tiene un
conocimiento especfico de las particularidades de Java (por
ejemplo, el CLASSPATH)
El formato de make es propio, bastante estricto y desconocido para
todo aquel que no lo haya usado nunca.
Eduardo Mosqueira Rey
Departamento de Computacin
Universidade da Corua
16
Compilacin en lnea
Compilacin compleja
Solucin 3: ficheros Ant
Ant (Another Neat Tool) es una herramienta
desarrollada por Apache para construir programas
Java (http://ant.apache.org)
Sus principales objetivos son sustituir a make para
construir programas Java eliminando las
incomodidades del mismo y favoreciendo el
desarrollo multiplataforma:
Las tareas de Ant son ejecutadas por clases Java, esto
garantiza su portabilidad en toda aquella plataforma que
tenga una JVM disponible adems de ser fcil de extender
Ant tiene un conocimiento especial de las necesidades de
Java permitiendo configurarlas de forma sencilla
El formato usado por Ant es XML, un formato popular y
conocido y para el cual existen mltiples herramientas
disponibles
Eduardo Mosqueira Rey
Departamento de Computacin
Universidade da Corua
17
Compilacin en lnea
Compilacin compleja
Caractersticas de Ant
Por defecto Ant busca un fichero de compilacin
denominado build.xml
Cada fichero contiene una etiqueta <project> donde
se especifican las caractersticas del proyecto
Adems tendr un conjunto de etiquetas <target>
que indican los objetivos que pueden realizarse con
dicho fichero Ant (inicializar, compilar, etc.)
Los target pueden tener dependencias entre s, si un
target A depende de otro B, al intentar ejecutar A se
ejecutar primero B
Eduardo Mosqueira Rey
Departamento de Computacin
Universidade da Corua
18
Compilacin en lnea
Compilacin compleja
<project name="Hola Mundo" default="compile" basedir=".">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="lib.dir" value="lib"/>
<property name="Libreria.jar" value="${lib.dir}/Libreria.jar"/>
<path id="compile.classpath">
<pathelement location="${Libreria.jar}" />
</path> <path id="run.classpath">
<target name="init">
<mkdir dir="${build.dir}"/>
</target>
<target name="clean">
<delete dir="${build.dir}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="compile.classpath"/>
</target>
<target name="run" depends="compile">
<java classname="poo.holamundo.HolaMundo" classpathref="run.classpath"/>
</target>
</project>
Eduardo Mosqueira Rey
Departamento de Computacin
Universidade da Corua
19
Compilacin en lnea
Compilacin compleja
Si no se especifica un target se ejecuta la
indicada por defecto
Departamento de Computacin
Universidade da Corua
20
ndice
3. La Herramienta NetBeans
Introduccin
Proyectos
Compilacin
Ejecucin
Depuracin
Configuracin
Pruebas de unidad
Departamento de Computacin
Universidade da Corua
21
La Herramienta NetBeans
Introduccin
Departamento de Computacin
Universidade da Corua
22
La Herramienta NetBeans
Proyectos
Departamento de Computacin
Universidade da Corua
23
La Herramienta NetBeans
Proyectos
Seleccionamos crear una nueva Java
Application
Departamento de Computacin
Universidade da Corua
24
La Herramienta NetBeans
Proyectos
Elegimos la localizacin del proyecto y su
nombre
Departamento de Computacin
Universidade da Corua
25
La Herramienta NetBeans
Proyectos
Departamento de Computacin
Universidade da Corua
26
La Herramienta NetBeans
Proyectos
Existen diversas plantillas para crear
clases, la ms sencilla es Empty Java File
ya que no crea ningn tipo de cdigo
Departamento de Computacin
Universidade da Corua
27
La Herramienta NetBeans
Proyectos
Departamento de Computacin
Universidade da Corua
28
La Herramienta NetBeans
Proyectos
Departamento de Computacin
Universidade da Corua
29
La Herramienta NetBeans
Compilacin
Pulsando sobre
el botn
derecho en
Libraries y
eligiendo Add
Jar/Folder
podemos aadir
las libreras que
nos hagan falta
En la ventana
del navegador
podemos ver el
contenido de
una clase y
navegar por los
distintos
elementos
Departamento de Computacin
Universidade da Corua
30
La Herramienta NetBeans
Ejecucin
Departamento de Computacin
Universidade da Corua
31
La Herramienta NetBeans
Depuracin
Podemos hacer una ejecucin
del proyecto que tenga en
cuenta los breakpoints
(necesitamos fijar cul es la
clase principal del proyecto)
Departamento de Computacin
Universidade da Corua
32
La Herramienta NetBeans
Configuracin
Departamento de Computacin
Universidade da Corua
33
Departamento de Computacin
Universidade da Corua
34
Departamento de Computacin
Universidade da Corua
35
Seleccionando un
componente en la paleta y
posteriormente pulsando
sobre la JFrame
aadiremos dicho
componente a la ventana
El inspector de
propiedades permite
modificar las propiedades
de cada componente
grfico
Departamento de Computacin
Universidade da Corua
36
Departamento de Computacin
Universidade da Corua
37
El cdigo marcado en
azul es gestionado por
NetBeans, por lo que
no puede ser
modificado si
queremos que el
diseador de
formularios funcione
correctamente
Departamento de Computacin
Universidade da Corua
38
Departamento de Computacin
Universidade da Corua
39