Primeros pasos en Java.

Slides:



Advertisements
Presentaciones similares
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Advertisements

Características Generales y Entornos de Desarrollo
Instalación del JDK de Java
Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 1: Introducción a Java Profesor:
Programación Orientada a Objeto 1
Programación Interactiva Introducción a Java
Enlaces con variables en la URL en PHP Programación en Internet II.
FLAN “F- LINKS AND NODES”
INSTITUTO TECNOLOGICO DE MINATITLAN
Tema: Técnicas Básicas Excel (III) Trucos, opciones y personalización de Excel Índice: 1 Vínculos absolutos y relativos, conectando datos de Excel con.
"java del lado del servidor" Servlet y JSP Java Server Pages.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Primer Programa en JAVA
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Modificadores.
Cómo hacer una página web Basado en la presentación de Ana Isabel Álvarez.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Buscador Es un sistema informático que busca archivos almacenados en servidores web HERRAMIENTAS DE COMPUTACION I.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Visualizador de imágenes remotas Alumno: Juan Pablo García Ortíz Director: Vicente Gonzalez Ruiz.
Constantes en PHP Programación en Internet II. Constantes en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa.
Introducción a la Programación. Lenguaje de Máquina.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Comentarios en PHP Programación en Internet II. Comentarios en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Ejecución de un programa escrito en Java Java es un lenguaje que se ejecuta con un intérprete a diferencia de Pascal o C que se compilan para producir.
Curso de Java La tecnología Java
APLICACIÓN EN VISUAL BASIC
Ejecución de un programa escrito en Java Java es un lenguaje que se ejecuta con un intérprete a diferencia de Pascal o C que se compilan para producir.
MBA. LIDA LOOR MACIAS2 Historia. El perfil de Java. Los padres de Java son James Gosling (emacs) y Bill Joy (Sun) Java desciende de un lenguaje llamado.
Seminario de Java Programación Orientada a Objetos.
introducción al lenguaje
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
MBA. LIDA LOOR MACIAS 1. 3 martes, 13 de octubre de 2014 OBJETIVO: El estudiante adquirirá los fundamentos básicos de la programación orientada a objeto.
Introducción al lenguaje de programación Java
EI, Profesor Ramón Castro Liceaga UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO DIPLOMADO DE DESARROLLO DE SISTEMAS CON EL PARADIGMA DE ORIENTACIÓN A OBJETOS.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Programación Java y Desarrollo de Aplicaciones Modulo 3 Lenguaje de programación Java Software utilizado.
Metodología de la programación
LE, EI, Profesor Ramón Castro Liceaga SISTEMA DE UNIVERSIDAD ABIERTA Instalación y prueba de Java.
INTRODUCCION A LA PROGRAMACION
File Transfer Protocol.
Valentina Hincapié. Christian Hincapié.. ¿QUE ES LINUX? GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
¿ Por que utilizar Java y la POO
Clases “ Es una Abstracción de un elemento del mundo real ”
En Internet: Los datos se transforman en información cuando una persona los lee, los comprende y los usa con algún fin: para estudiar, para trabajar,
Introducción a Java Sintaxis de Java QUIMESTRE II PARCIAL I.
Fundamentos de Programación Unidad I Conceptos Básicos.
Capítulo 1: El lenguaje de programación Java Material de clase adaptado por: Mauricio Cabezas Algoritmia y Programación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 1.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Cómo empezar Java. ¡Cómo se divide la plataforma de desarrollo de Java?  Edición estándar (JSE)  Edición empresarial (JEE)  Edición de dispositivos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
2 Historia. El perfil de Java. Los padres de Java son James Gosling (emacs) y Bill Joy (Sun) Java desciende de un lenguaje llamado Oak cuyo propósito era.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
ESTRUCTURA DE DATOS RETO 2: PYTHON. QUÉ ES PYTHON PYTHON ES UN LENGUAJE DE SCRIPTING INDEPENDIENTE DE PLATAFORMA Y ORIENTADO A OBJETOS, PREPARADO PARA.
PROGRAMACION ORIENTADA A OBJETOS
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
UAA – Introduccion a Progracion Orientada Objetos Introducción al Java.
Transcripción de la presentación:

Primeros pasos en Java

Indice Java como lenguaje de programación Java Development Kit El primer objeto. El método main Paquetes

Java como lenguaje de programación Veremos que existen diferentes lenguajes para escribir (programar) aplicaciones. Unos son lenguajes compilados y otros interpretados. Java es un lenguaje interpretado

Lenguajes Primera generación. Años 50: Segunda generación. Años 60: ensamblador y código máquina Segunda generación. Años 60: COBOL, FORTRAM, ALGOL y BASIC Tercera generación. Años 70: PL/1, PASCAL, MODULA-2 (1980), ADA y C Lenguajes de proposito general, procedimentales e imperativos Años 60-80: LISP, PROLOG Orientados a IA Años 80-90: C++ (1982) y Java (1991, aunque no se empieza a usar en Internet hasta finales de los 90) Orientados a objetos Cuarta generación (4GL)

Código compilado (I) Hasta los 2000 la mayoría de las aplicaciones se hacían con lenguajes compilados. El ingeniero debía: Crear el código fuente (archivos con extensión .c, .cpp, etc) Por medio de programas compiladores y enlazadores (link) crear el código ejecutable (archivos con extensión .com y .exe) Código fuente Compilador/enlazador Código ejecutable El código ejecutable es dependiente del sistema operativo. Para cada sistema hay un compilador Si se quiere ejecutar en otro sistema operativo (SO) hay que recompilar el código fuente Compilador/enlazador de S.O. X Código ejecutable para el S.O. X Código fuente Compilador/enlazador de S.O. Y Código ejecutable para el S.O. Y

Código compilado (II) El programa resultante es ejecutado directamente desde el sistema operativo Al resultado final también se denomina “código máquina”, es decir, código dependiente del sistema en el que se ejecuta Es una solución “dependiente”, pero muy eficiente

Código interpretado (I) El código interpretado no es ejecutado directamente por el sistema operativo. Necesita un interprete para ser ejecutado Cada sistema tiene su propio interprete Compilador Código interpretable Código fuente Interprete Programa ejecutado Ventaja: el código interpretado no debe ser modificado, ni recompilado cuando cambiamos de sistema operativo. Cada sistema tiene su propio interprete Inconveniente: es menos eficiente que el código ejecutado

Código interpretado (II) En este ejemplo arrancamos el programa por medio del interprete java.exe (escribimos “java ap30_List.Inicio”):

Historia de Java Java fue diseñado en 1990 por James Gosling, de Sun Microsystems, para programar dispositivos electrónicos de consumo como calculadoras, microondas y la televisión interactiva No fue diseñado para Internet, de hecho nació antes de la era World Wide Web Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de Berckeley) vio el interés de Java: Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas de ventanas que proliferaban hasta el momento Robustez. Gosling observó que muchas de las características que ofrecían C o C++ aumentaban de forma alarmante el gran coste de pruebas y depuración Multiplataforma. Java permite escribir un código común para todos los dispositivos Por ello, Java surgió como lenguaje en 1995. Netscape incluyó un interprete Java en su navegador

Java: código interpretado En muchos lenguajes (Cobol, C++, etc.) el programador crea un programa (.exe) ejecutable por el sistema operativo. En Java el código fuente se escribe en archivos con extensión .java El compilador (javac) no genera un programa (.exe) ejecutable directamente por el sistema operativo. Genera código interpretable, un archivo .class (byte code) El archivo .class es ejecutado por el interprete, también denominado MVJ (máquina virtual Java) También existen en Java compiladores que generan código ejecutable (.exe) a partir del byte code. Esto mejora la eficiencia pero no es portable

Interpretes y portabilidad Lenguajes compilados Ejecutable Windows Ejecutable Unix Ejecutable Mac Lenguajes interpretados Código único a interpretar Intérprete Windows Intérprete Unix Intérprete Mac Nivel ejecución C, C++ CódigoJava Java Bytecodes Cada compilador es “dependiente del sistema operativo” (SO): genera un programa ejecutable (.exe) para un SO. Si se quiere ejecutar en otro SO, hay que usar su copilador correspondiente El compilador no es dependiente del SO: genera byte codes (.class) que puede ser interpretado por cada uno de los interpretes del SO correspondiente

Diferentes entornos de ejecución: aplicaciones y applets Con Java podemos hacer diversos tipos de programas: Requieren servidor Internet Applets: se alojan en el servidor Web y son enlazados desde una página Web. El usuario los descarga desde un servidor web y los ejecuta en su ordenador (frente a las servlets, que se ejecutan en el servidor) Servlets/JSP: se alojan y son ejecutados en el servidor No requieren servidor Internet: Aplicaciones aisladas (standalone): se pueden ejecutar desde la línea de ordenes del sistema (mediante Java.exe) y son independientes de una página Web. Normalmente están alojados en el puesto cliente y se conectan a un servidor de bases de datos. Las páginas y los applets se descargan y ejecutan en el cliente Páginas HTML Internet Applets Los servlets se ejecutan en servidor y generan una pagina web que se descarga en cliente Servlets Clientes Servidor Internet Servidor empresarial de base de datos Red empresarial Clientes de aplicaciones “standalone” Datos

Java Development Kit (JDK) El JDK es el conjunto de utilidades que nos permiten crear el código interpretado. Lo básico es tener el compilador javac.exe y el interprete java.exe

Diferentes ediciones del JDK El JDK es el conjunto de herramientas que nos permiten crear los programas. Existen diferentes JDKs, en función de las necesidades del programador. Dos de las ediciones más conocidas son: Java Standard Edition (JSE): para escribir aplicaciones y applets. Descargable desde http://java.sun.com/javase/downloads/index.jsp Java Enterprise Edition (JEE): para tecnologías Servlets/JSP, EJB, etc, dentro del entorno Internet. Descargable desde http://java.sun.com/javaee/downloads/index.jsp

Descarga e instalación del JDK Las últimas versiones incluyen un programa de instalación (wizard) que facilita la tarea En este ejemplo se está ejecutando un wizard de JEE 1.5. Que el aspecto gráfico de este ejemplo sea diferente respecto a la instalación que este intentando es lo de menos, depende de la edición y versión elegida Las dos cosas importantes: Definir el directorio de instalación. Lo aconsejable es dejar la ruta que propone el programa Incluir el directorio bin en la variable “path” del sistema, de esta forma podremos trabajar en la línea de ordenes

La variable path (I) En Windows (y en otros sistemas) cuando trabajamos en la línea de ordenes y ejecutamos un programa el sistema busca el programa de la forma siguiente: Busca en el directorio actual; si no lo encuentra, sigue en el siguiente punto Busca en los directorios o carpetas definidos en la variable “path”: Si no lo encuentra responde con un mensaje parecido a este: “’MiPrograma’ no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.” Si lo encuentra, lo ejecuta. En el siguiente ejemplo ha encontrado el programa Notepad.exe, ya que en la variable “path” se encuentra definido el directorio donde se aloja dicho programa: “C:\WINDOWS”

La variable path (II) ¿Cómo saber el contenido de la variable “path”? En la línea de ordenes: escribir “path” (sin dobles comillas). Con “set” se muestran todas las variables del sistema En Inicio-Panel de control-Sistema-Opciones Avanzadas-Variables del sistema Se puede cambiar en (2), pulsando “Modificar”, escribiendo el directorio (separamos los directorios con punto y coma) y a continuación pulsar “Aceptar” Ojo: los cambios en (2) se reflejan en las nuevas instancias de la línea de ordenes, no en las que ya estuviesen abiertas antes de los cambios Ejemplo:

Directorio jdk\bin en el “path” Programas como el compilador javac.exe o el interprete java.exe se encuentran en el directorio bin del jdk. Ejemplos de directorio bin (dependiendo de su edición, versión y presentación comercial): C:\Sun\AppServer\jdk\bin C:\j2sdk1.4.2_11\bin C:\JBuilder2005\jdk1.4\bin Dependiendo de la versión y edición los directorios base se pueden llamar de forma diferente. Lo que importa es que siempre habrá un subdirectorio bin del jdk. Para que java.exe y javac.exe se puedan usar desde la línea de ordenes necesitamos que el directorio bin este en la variable “path” Lo normal es que el instalador del JDK introduzca este directorio. Pero si no es así, debemos hacerlo nosotros, accediendo al Panel de Control Si el directorio no está en el path, cuando escribamos “javac” nos responderá “’javac’ no se reconoce como un comando interno o externo …”. Si está en el path, entonces lo encuentra y nos devolverá “Usage: javac <options> <source files> …”. Esto significa que lo ha ejecutado y el programa nos devuelve una pequeña ayuda al no haber recibido los argumentos correctos

La variable JAVA_HOME En bastantes entornos de desarrollo integrado (IDE) es necesario tener definida la variable JAVA_HOME. En ocasiones la define el instalador, si no es así, conviene que la defina el programador La variable representa el directorio base del jdk Ejemplo. Para ver su contenido desde la línea de ordenes: Para definirla se puede usar Inicio-Panel de control-Sistema-Opciones Avanzadas-Variables del sistema. Si no existe usar el botón “Nueva”. Si existe, usar “Modificar”

El primer objeto. El método main Vamos a crear un programa que muestra el mensaje “Hola mundo” sólo con el soporte del JDK y el Notepad, sin ayuda de un entorno de desarrollo integrado (IDE). Antes de crear el programa debemos de organizar nuestro proyecto de desarrollo

Clases y objetos: la teoría de conjuntos Conjunto de Personas. Atributos: {edad, nombre} En la teoría de conjuntos diferenciamos: Concepto de conjunto, en que definimos atributos característicos, por ejemplo la edad y el nombre. Concepto de instancia (elemento o individuo), donde cada atributo puede tener un valor En la programación orientada a objetos ocurre algo parecido, ya que diferenciamos: Concepto de clase, con sus atributos característicos Concepto de instancia u objeto ¿cómo se hace una instancia en Java? Nombre_de_clase Nombre_Objeto = new Nombre_de_clase(); Ejemplo: Persona pepe = new Persona(); Pedro. Valores: {33, “Pedro”} Mi tia. Valores: {46, “Carmen”} Class Persona: int edad String nombre Pedro: Persona pedro = new Persona( 33, “Pedro”); Mi tía: Persona tia = new Persona( 46, “Carmen” );

Nuestra aplicación “Hola mundo” Hola.java (no lo escriba, más adelante explicaremos el directorio donde ponerlo): package saludo.inicio; /********************************** Este es nuestro primer programa. Muestra un sencillo mensaje *********************************/ public class Hola { public static void main(String[] args) { // El programa empieza a ejecutarse en main System.out.println( "Hola mundo"); // Salida por pantalla } Notas: Empecemos por los comentarios (no se compilan, son explicaciones o notas del programador): Comentario de bloque: /* ... */ Comentario de línea: //... La palabra reservada class sirve para señalar que se empieza a definir una clase, delimitada por llaves: {} La palabra reservada public es un especificador de acceso. Lo que es público es accesible desde fuera de la clase o paquete. La clase es pública, ya que va a ser instanciada por el JVM (interprete) La función main (no Main, ni MAIN), es el punto de inicio de la ejecución del programa. El método define el comportamiento de la clase, aquello que hace. Es público, ya que debe ser llamado desde fuera de la clase, por parte del interprete (JVM) static lo veremos más adelante, indica que se puede acceder a la función sin hacer referencia a una instancia de la clase void indica que la función main no devuelve nada

Normas y consejos Convenciones: Normas: Nombres de clases: primera en mayúsculas public class Hola … Nombre de paquete: minúsculas package saludo; Atributos y variables: minúsculas. Si juntamos varias palabras, usar mayúsculas a partir de la segunda int edad; int contadorSaludos; Métodos: minúsculas. Si juntamos varias palabras, usar mayúsculas a partir de la segunda public static void main(String[] args) { … public mostrarSaludo() … Normas: Un archivo .java tendrá una clase. Hay IDEs que relajan esta norma y permiten poner varias clases en un archivo .java, pero nosotros seguiremos esta norma El nombre de la clase será el mismo que el nombre del archivo .java Un consejo: no use espacios en blanco ni tildes en los nombres de directorios o archivos. Tampoco convienen nombres demasiado largos

Organización de la ingeniería del software En muchas actividades asociadas a la ingeniería antes de empezar a construir el producto debemos tomar decisiones sobre: Los objetivos y funciones que debe cumplir el producto La forma en que se organiza el desarrollo o construcción del producto Respecto a la organización del desarrollo de una aplicación debemos tener en cuenta cómo vamos a estructurarlo. En nuestro caso la primera decisión es la estructura de directorios o carpetas de nuestro proyecto.

Estructura del proyecto ¿Qué es un proyecto? Es la forma de agrupar todos los elementos de nuestra aplicación. Una aplicación puede contener numerosos archivos .java, .class, .properties, .jar, .txt, etc. La idea es agruparlo todo bajo un proyecto. Para ello, nos servimos de la estructura de directorios y crearemos el directorio raíz del proyecto: Saludo01 A continuación crearemos los siguientes subdirectorios para diferenciar el código fuente del código interpretado: Subdirectorio src. En este directorio o en alguno de sus subdirectorios colocaremos el código fuente (.java) Subdirectorio bin. En este directorio o en alguno de sus subdirectorios colocaremos el código interpretado (.class) El aspecto final puede ser:

Estructura de paquetes (I) Además dentro de cada uno de los subdirectorios anteriores (src y bin) debemos reflejar la estructura interna de nuestra aplicación. Los archivos de código se agrupan en paquetes o directorios. Veremos que cada parte, bloque o paquete de nuestra aplicación debe diferenciarse de las demás por su función dentro del proyecto. De la misma forma que si construimos un coche clasificamos las piezas en función de la parte o función a la que pertenecen (chasis, motor, electrónica de control, etc.), no las mezclamos todas en un único cajón. De la misma forma, los archivos de código Java no se escriben todos en un único directorio o paquete, sino que se sitúan en un paquete en virtud de su función.

Estructura de paquetes (II) En nuestro caso tendremos un directorio o paquete raíz, que denominaremos “saludo”, del que derivaremos los siguientes subdirectorios o paquetes: inicio: paquete donde está la clase que sirve de inicio al funcionamiento de la aplicación, aquella que contiene el método main (Hola.java) dominio: tendrá las clases que representen el domino del problema, por ejemplo en un entono de banca tendremos clases como Cuenta, Cliente, etc. En un entorno de universidad tendremos clases como Alumno, Profesor, Asignatura, etc. Por ahora la crearemos, pero la dejaremos vacío de archivos. Todo esto lo haremos de forma paralela, tanto en el directorio bin como en src. De forma que los subdirectorios de uno sean espejo de los de otro. El aspecto final sería: Observe que la primera línea del archivo .java es el paquete al que pertenece: package saludo.inicio;

Compilar y ejecutar Para compilar me sitúo en el directorio src Ejecuto javac.exe con la opción –d, para indicar el directorio de salida, es decir, el directorio a partir del cual va a poner los archivos .class El segundo argumento es el archivo que se compila (se permiten comodines, por ejemplo *.java) Como directorio de salida hemos puesto bin. Sin embargo, el archivo Hola.class lo sitúa, correctamente, en bin\saludo\inicio. ¿Por qué no pone el archivo .class en bin? La respuesta es que al compilar ve que la clase pertenece al paquete saludo.inicio (la primera línea del archivo .java indica el paquete), por tanto pone el archivo .class en el directorio indicado por la unión: Directorio_de_salida U ruta_de_paquete, es decir: c:\DOC\Java_libre\Saludo01\bin\ U saludo\inicio En nuestro ejemplo hemos usado para la opción –d una ruta absoluta, pero podríamos haber indicado una ruta relativa: ..\bin

Extendiendo el ejemplo Ponemos en el paquete saludo.dominio la clase: package saludo.dominio; public class Persona { public String nombre; public int edad; public void mostrar() { System.out.println("Mi nombre es " + nombre +" y tengo " + edad + " años"); } A continuación cambiamos la clase Hola: package saludo.inicio; import saludo.dominio.*; public class Hola { public static void main(String[] args) { System.out.println( "Hola mundo"); Persona ana = new Persona(); ana.nombre = "Ana Maria"; ana.edad = 18; ana.mostrar(); En Persona.java usamos la expresión de acceso “public”, ya que queremos acceder a los atributos y métodos desde fuera del paquete donde está la clase Persona En Persona.java hay diversas cosas interesantes y nuevas: ¿Por qué “import”? ¿Cómo se crea el objeto o instancia? ¿Cómo se accede a los atributos y método de la instancia?

Paquetes De la misma forma que las carpetas nos sirven para clasificar los documentos, los paquetes son una forma de clasificar las clases

Paquetes Los paquetes son formas de agrupar clases, nos permiten tenerlas clasificadas, del mismo modo que las estanterías nos sirven para clasificar los libros Un paquete es un concepto, una construcción lógica, que se corresponde con un directorio o carpeta Para definir que una clase pertenece a un paquete hay que: Usar la palabra package en la primera sentencia de un archivo fuente: package nombre_paquete; Poner el archivo java en el directorio correspondiente Ejemplo: todos los archivos del paquete j10_composicion tendrán la sentencia “package j10_composicion”, además los archivos .java y .class se deben almacenar en el directorio j10_composicion Se pueden crear jerarquías de paquetes, separando los niveles por puntos. A la hora de crear el paquete es necesario reflejar la jerarquía en el sistema de directorios y en la sentencia package, por ejemplo en MiClase.java: package sistema.presentacion; (el archivo debe situarse en …/sistema/presentacion)

Importación Supongamos que estamos en la clase saludo.inicio.Hola. Si desde Hola usamos clases que estén fuera de su paquete (saludo.inicio), entonces nos puede aparecer el siguiente error: package saludo.inicio; public class Hola { public static void main(String[] args) { Vector vector = new Vector() … } El compilador no encuentra el lugar donde está definida la clase Vector. Para evitar este problema se le indica mediante la expresión “import” (entre “package” y “class”) el paquete donde encontrar la clase: import java.util.Vector; Para importar clases se debe tener en cuenta la jerarquía de múltiples paquetes, separados por puntos. Al final hay que definir la clase que se importa o usar el asterisco para denotar todas las clases de un paquete. Ejemplo: import java.io.*; import java.util.Date; Las clases predefinidas en Java son aquellas importadas de forma automática por el compilador, por ejemplo, las clases del paquete java.lang (como String). De tal forma que no es necesario escribir: import java.lang.*; “No se puede encontrar el símbolo Vector” o “No puedo resolver Vector”

Acceso Con los paquetes también podemos determinar niveles de acceso: Se puede acceder desde fuera del paquete a cualquier elemento del paquete que sea público Aquello que es privado no puede ser accesible fuera del paquete Puede acceder a los elementos protected de un paquete, pero sólo desde clases que heredan los elementos protected del paquete Si no especifica ningún modificador de acceso no podrá acceder desde fuera del paquete