Entorno Java

14
Programa Java Fundamentals Developer Entorno Java Al finalizar el capítulo, el alumno podrá: Identificar las características básicas Java Developer Kit (JDK). Aplicar package. Reconocer alcance de clases y miembros de clase. Temas 1. Java Developer Kit (JDK) 2. Java Runtime Environment 3. Archivos JAR, WAR y EAR 4. Importaciones (import) y paquetes (packages) 5. Alcances público, protegido y privado 6. Comentarios de línea, bloque y documentación

description

Entorno de Java, Elementos, Vinculos, Variables, Sintaxis.

Transcript of Entorno Java

Page 1: Entorno Java

Programa Java Fundamentals Developer

Entorno Java

Al finalizar el capítulo, el alumno podrá:

Identificar las características básicas Java Developer Kit (JDK).

Aplicar package.

Reconocer alcance de clases y miembros de clase.

Temas

1. Java Developer Kit (JDK)

2. Java Runtime Environment

3. Archivos JAR, WAR y EAR

4. Importaciones (import) y paquetes (packages)

5. Alcances público, protegido y privado

6. Comentarios de línea, bloque y documentación

Page 2: Entorno Java

Entorno Java 64

1. Java Developer Kit (JDK)

1. Java Developer Kit (JDK)

En el 2009, el grupo estadounidense de

software Oracle adquiere Sun

Microsystems por un aproximado de 5

millones de euros en efectivo. Siendo

así Oracle, el actual propietario de

Java.

http://www.oracle.com/technetwork/java/javase/downloads/

El lenguaje Java tiene cinco principios básicos:

1. Usar la metodología de la programación orientada a objetos. 2. Permitir ejecutar un mismo programa en múltiples sistemas operativos. 3. Incluir, por defecto, soporte para trabajo en red. 4. Estar diseñado para ejecutar código en sistemas remotos de forma segura. 5. Fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como

C++. JDK se descarga desde http://www.oracle.com/technetwork/java/javase/downloads/ como muestra la figura, donde se debe seleccionar Java Platform (JDK) 7u5.

Page 3: Entorno Java

Entorno Java 65

Luego, en la siguiente pantalla, se debe aceptar la licencia y seleccionar el JDK para el sistema operativo. Si éste es Windows, seleccionar el de 32 ó 64 bits, según la instalación.

Una vez que el archivo se encuentre en el disco, solo se deberá dar doble clic en él y seguir las siguientes pantallas.

Page 4: Entorno Java

Entorno Java 66

Page 5: Entorno Java

Entorno Java 67

Page 6: Entorno Java

Entorno Java 68

Si se navega desde el Explorador de Windows, se observará que en la carpeta Archivos de Programa, aparecerá una nueva carpeta Java y en ella, dos carpetas: jdk1.7.0_05 y jre7.

También, se puede descargar del mismo URL de descarga del JDK, los manuales de Java y JDK, que es un archivo .zip y conviene copiarlos a la carpeta jdk1.7.0_05, para que NetBeans lo pueda abrir desde allí. El archivo es el siguiente:

jdk-7u2-apidocs.zip

Page 7: Entorno Java

Entorno Java 69

2. Java Runtime Environment

2. Java Runtime Environment

El producto es completamente gratuito

y existe para diferentes sistemas

operativos.

El JRE (Java Runtime Environment) es un software Java que permite ejecutar todas las aplicaciones compiladas de Java, inclusive aquellas que tienen que mostrarse en Internet, en las páginas HTML. La tecnología Java Plug-in, incluida como parte del Runtime Environment de Java 2, Standard Edition (JRE), establece una conexión entre los navegadores más populares y la plataforma Java. Por su parte, Java permite que las aplicaciones se descarguen en red y se ejecuten en un espacio reservado. También, se pueden establecer restricciones de seguridad de manera sencilla en dicho espacio. Muchas aplicaciones multiplataforma necesitan de Java para funcionar adecuadamente. Se debe considerar que gracias a este JRE, un programador puede desarrollar su aplicación en un sistema operativo Windows, para luego ejecutarlo sobre Linux, sin ningún cambio. Esto es posible porque las aplicaciones en Java no se ejecutan sobre los sistemas operativos, sino sobre el JRE, quien conversa con el sistema operativo. Por eso, Java es transportable a cualquier plataforma. El producto es completamente gratuito y existe para diferentes sistemas operativos, como se puede apreciar en la siguiente lista de Oracle.

Page 8: Entorno Java

Entorno Java 70

3. Archivos JAR, WAR y EAR

3. Archivos JAR, WAR y EAR

JAR - Java ARchive

Agrupa y comprime diversos archivos de la aplicación en uno solo.

WAR - Web ARchive

Para aplicaciones Web.

EAR - Enterprise Archive

Para varias aplicaciones Web y JAR.

3.1 JAR - Java ARchive

Es un formato de archivo basado en el formato de archivo ZIP y se utiliza para agregar muchos archivos. El desarrollo de aplicaciones Java utiliza archivos JAR para muchos propósitos útiles, como el empaquetar todos los archivos de clase, archivos de imágenes y otros archivos requeridos, de modo que la descarga de un solo archivo tendrá todos los componentes descargados en el equipo cliente. JAR es independiente de la plataforma formato que ha sido completamente escrito en Java (es un estándar abierto y extensible completamente). Puede ser creado mediante el uso de "jar.exe" utilidad de línea de comandos. También, puede crear archivos JAR programáticamente, usando paquete de APIs java.util.jar.

3.2 WAR - Web ARchive

Este formato de archivo se utiliza para empaquetar todos los componentes de una aplicación web. Puede contener JAR, JSP, Servlets, HTMLs, GIF, etc. El objetivo de este formato de archivo es el mismo que el del JAR, es decir, para hacer el despliegue. Esto tendrá un archivo XML denominado web.xml como el descriptor de despliegue, el que es usado por el contenedor Web para desplegar la aplicación web, correctamente.

3.3 EAR - Enterprise ARchive

Una aplicación empresarial puede estar compuesta de varias aplicaciones web y otros JAR independientes. Este formato de archivo de almacenamiento se utiliza en aquellos casos en agrupar todos los componentes de una aplicación empresarial en un único archivo. Teniendo como propósito, el despliegue decisiones, envío, y por lo tanto, el mantenimiento más fácil. Puesto que, una aplicación de empresa puede tener varias aplicaciones Web como sus componentes. También contiene un descriptor de despliegue ni basado en XML, que es utilizado por el servidor de aplicaciones para desplegar la aplicación de empresa correctamente.

Page 9: Entorno Java

Entorno Java 71

4. Importaciones (import) y paquetes (packages)

4. Importaciones (import) y paquetes (packages)

import

Cuando se necesita de otra clase, se específica la ruta a importar

después de la cláusula import.

package

Para especificar en que ruta se guardará la clase que se está

construyendo.

4.1 Cláusula import

Según la ubicación de las clases en el proyecto, existen diferentes modos de hacer referencia a ellas. Por ejemplo, para referenciar cualquier clase dentro de otra, se considera, que esta otra está declarada en el mismo package (carpeta).

package parainfo; . . . class Circulo { Punto centro; . . . }

En esta declaración, se define que la clase Círculo se encuentra en el package parainfo. Ésta usa la clase Punto. El compilador y la JVM, asumen que Punto pertenece también al package parainfo, y así está hecha la definición, para que la clase Punto sea accesible por el compilador, no obstante, es necesario que esté definida en el mismo package. Si esto no fuese así, es necesario hacer accesible el espacio de nombres donde está definida la clase Punto a la nueva clase. Esto se hace con la cláusula import. Suponiendo que la clase Punto estuviera definida de la forma siguiente:

package parainfobase; class Punto { int x , y; }

Page 10: Entorno Java

Entorno Java 72

Entonces, para usar la clase Punto en la clase Circulo, se debe escribir lo siguiente:

package parainfoampliada; import parainfobase.*; class Circulo { Punto centro; . . . }

Con la cláusula import parainfobase.*; se hacen accesibles todos los nombres (todas las clases) declaradas en el package parainfobase. Si solo se quisiera tener accesible la clase Punto, se podría declarar: import parainfobase.Punto; También es posible hacer accesibles el nombre de un package sin usar la cláusula import, calificando completamente los nombres de aquellas clases pertenecientes a otros packages. Por ejemplo:

package parainfoampliada; class Circulo { parainfobase.Punto centro; . . . }

Sin embargo, si no se usa import es necesario especificar el nombre del package cada vez que se usa el nombre Punto. La cláusula import indica al compilador donde se buscan clases adicionales, cuando no puedan ser encontradas en el package actual, y delimita los espacios de nombres y modificadores de acceso. En una clase puede haber tantas sentencias import como sean necesarias. Las cláusulas import se colocan después de la cláusula package (si es que existe) y antes de las definiciones de las clases.

4.2 Cláusula package

Un package es una agrupación de clases afines. Equivale al concepto de librería existente en otros lenguajes o sistemas. Una clase puede definirse como perteneciente a un package y puede usar otras clases definidas en ese o en otros packages. El nombre de una clase debe ser único dentro del package donde se define. Dos clases con el mismo nombre en dos packages distintos, pueden coexistir e incluso, pueden ser usadas en el mismo programa. Una clase se declara perteneciente a un package con la cláusula package, cuya sintaxis es la siguiente:

package nombre_package;

La clausula package debe ser la primera sentencia del archivo fuente. Cualquier clase declarada en ese archivo pertenece al package indicado.

Page 11: Entorno Java

Entorno Java 73

Por ejemplo, un archivo que contenga las sentencias siguientes declara que la clase MiClase pertenece al package mipackage.

package mipackage; . . . class MiClase { . . .

La cláusula package es opcional. Si no se utiliza, las clases declaradas en el archivo fuente no pertenecen a ningún package concreto, sino que pertenecen a un package por defecto sin nombre. La agrupación de clases en packages es conveniente desde el punto de vista organizativo para mantener bajo una ubicación común, clases relacionadas que cooperan desde algún punto de vista. También, resulta importante por la implicación que los packages tienen en los modificadores de acceso. Nombres de los packages Los packages se pueden nombrar usando nombres compuestos separados por puntos, de forma similar a como se componen las direcciones URL de Internet. Por ejemplo, se puede tener un package de nombre mispackages.parainfo.base. Cuando se utiliza esta estructura se habla de packages y subpackages. En el ejemplo mispackages es el package base, parainfo es un subpackage de mispackages y base es un subpackage de parainfo. De esta forma, se pueden tener los packages ordenados, según una jerarquía equivalente a un sistema de archivos jerárquico. El API de java está estructurado, de esta forma, con un primer calificador (java o javax) que indica la base; un segundo calificador (awt, util, swing, etc.) que indica el grupo funcional de clases y opcionalmente, subpackages en un tercer nivel, dependiendo de la amplitud del grupo. Cuando se crean packages de usuario no es recomendable usar nombres de packages que empiecen por java o javax.

Page 12: Entorno Java

Entorno Java 74

5. Alcances: público, protegido y privado

5. Alcances: público, protegido y privado

public

Es accedido por todos.

protected

Acceso desde el mismo paquete y desde clases extendidas.

private

Acceso restringido a su ámbito.

5.1 Modificadores de acceso: public, private, protected y default

Los modificadores de acceso determinan desde qué clases se puede acceder a un determinado elemento. En Java se tienen 4 tipos: public, private, protected y el tipo por defecto, que no tiene ninguna palabra clave asociada, pero se suele conocer como default.

Si no se especifica ningún modificador de acceso, se utiliza el nivel de acceso por defecto, que consiste en que el elemento puede ser accedido, solo desde las clases que pertenezcan al mismo paquete.

El nivel de acceso public permite a acceder al elemento desde cualquier clase, independientemente de que ésta pertenezca o no, al paquete en que se encuentra el elemento; es decir, puede estar en cualquier carpeta del proyecto.

El nivel de acceso private, por otro lado, es el modificador más restrictivo y especifica que los elementos que lo utilizan solo pueden ser accedidos desde la clase en la que se encuentran. Este modificador únicamente puede utilizarse sobre los miembros de una clase, y sobre interfaces y clases internas, pero no sobre clases o interfaces de primer nivel, dado que esto no tendría sentido. Private convierte los elementos en privados para otras clases, no para otras instancias de la clase. Es decir, un objeto de una determinada clase puede acceder a los miembros privados de otro objeto de la misma clase, por lo que algo como lo siguiente sería perfectamente válido:

class MiObjeto { private short valor = 0; MiObjeto(MiObjeto otro) { valor = otro.valor; } }

Page 13: Entorno Java

Entorno Java 75

El modificador protected, por último, indica que los elementos solo pueden ser accedidos desde su mismo paquete (como el acceso por defecto) y desde cualquier clase que extienda la clase en que se encuentra, independientemente de si ésta se encuentra en el mismo paquete o no. Este modificador, como private, no tiene sentido a nivel de clases o interfaces no internas.

Los distintos modificadores de acceso quedan resumidos en la siguiente tabla:

La misma

clase Otra clase del

mismo paquete Subclase de otro

paquete Otra clase de otro

paquete

public X X X X

protected X X X

default X X

private X

Page 14: Entorno Java

Entorno Java 76

6. Comentarios de línea, bloque y documentación

6. Comentarios de línea, bloque y documentación

Los comentarios en el código de un programa son importantes para el mantenimiento futuro del mismo, así como, para interpretar más fácilmente una rutina compleja y sobre todo, cuando trabaja un grupo de programadores para facilitar el entendimiento entre ellos. Java tiene los siguientes 3 tipos de comentarios:

Todo lo que esté a la derecha de // será considerado comentario por el compilador de Java y es eliminado en el archivo compilado (.class).

Todo lo que esté entre /* y */ será considerado comentario por el compilador de Java y es eliminado en el archivo compilado (.class).

Todo lo que esté entre /** y */ será considerado comentario por el compilador de Java, y permanece en el archivo compilado (.class). Usado, normalmente, para describir al desarrollador y a la aplicación.