SlideShare una empresa de Scribd logo
1 de 15
2. Paquetes y API

             Paquetes
                   ¿Para qué sirven?
                   Características
                   Cómo crearlos e importarlos
                   Localización de paquetes
                   Visibilidad de clases
                   Classpath
             API de Java


Programación III                      Tema 2 - Paquetes y API
¿Para qué sirven los paquetes?
   • Un paquete es un mecanismo Java de agrupación y
     organización de clases
   • Tres propósitos:
           – Mejorar la organización de las clases
           – Reducir los problemas de colisión de nombres entre clases
           – Controlar la visibilidad de las clases, atributos y métodos de él
   • Las propias clases del núcleo de Java (API) se encuentran
     organizadas en paquetes:
           –       package java.applet
           –       package java.awt
           –       package java.beans
           –       package java.io
           –       package java.lang
           –       package java.sql
           –       package java.util
           –       ...
Programación III                         Tema 2 - Paquetes y API
Características de los paquetes

   • Paquete  conjunto de clases relacionadas
           – Un paquete crea un nuevo espacio de nombres
                   • Dos clases con el mismo nombre:
                       – NO en un mismo paquete
                       – SÍ en distintos paquetes
           – Los paquetes se anidan formando jerarquías
                   • (similar a los directorios)

   • Toda clase debe pertenecer a un
     paquete                                                                 Paquete java

           – En caso de no especificar                                               Paquete awt
             explícitamente ningún paquete, existe
             un paquete por defecto (sin                                                    Paquete geom
                                                                                            Clase Arc2D
             nombre) al que pasará a pertenecer la                                          Clase Point2D
             clase                                                                          Clase Line2D
                                                                                            Clase Ellipse2D
                                                                                            Clase Rectangle2D




Programación III                                   Tema 2 - Paquetes y API
Cómo crear un paquete
   • Cláusula package
                   package graphics;
                   class Circle
                   { ... }
                   class Rectangle
                   { ... }
           – Primera sentencia del fichero
           – Los nombres de paquetes suelen escribirse todo en minúsculas y no suelen
             contener más de un concepto. Cada cambio de concepto la primera letra
             con mayúsculas.
           – Todos los nombres del fichero pertenecen al paquete
           – Pueden definirse ‘n’ ficheros con el mismo paquete
                   • En un fichero Circle.java
                        package graphics;
                        class Circle
                        { ... }
                   • En un fichero Rectangle.java
                        package graphics;
                        class Rectangle
                        { ... }




Programación III                                    Tema 2 - Paquetes y API
Nombres y localización de paquetes
   • Nombre Completo de una Clase
           – Incluye como prefijo el nombre completo del paquete al que pertenece:
                   • graphics.Circle
                   • graphics.Rectangle
   • Para ejecutarlas:
                   java graphics.Circle
   • Para hacer referencia a ellas desde un programa:
                   graphics.Rectangle
   • Correspondencia entre paquetes y directorios
           – Paquete = Directorio
           – Nombre paquete = nombre directorio. Todas las clases del paquete en el
             directorio
           – Paquetes anidados = subdirectorios
   • Ejemplos:
           – Clases de java.awt.geom -- en el directorio ...javaawtgeom
           – Clases de graphics -- en el directorio …graphics
           – Clase graphics.Circle - en …graphicsCircle.class




Programación III                          Tema 2 - Paquetes y API
Importar un paquete (1)
           – Para acceder a las clases de otro paquete: nombre completo
                   package otroPaquete;
                   class MiClase
                   {
                     ...
                     graphics.Circle c = new graphics.Circle();
                     graphics.Rectangle r = new graphics.Rectangle();
                     java.util.Vector v = new java.util.Vector();
                     ...
                   }
           – Para simplificar esto, podemos utilizar import:
                   package otroPaquete;
                   import graphics.Circle;
                   import graphics.Rectangle;
                   import java.util.Vector;
                   class MiClase
                   {
                     ...
                     Circle c = new Circle();
                     Rectangle r = new Rectangle();
                     Vector v = new Vector();
                     ...
                   }



Programación III                              Tema 2 - Paquetes y API
Importar un paquete (2)
   • import debe estar al principio, entre package (si lo hay) y
     las definiciones de clase
           – También se pueden usar caracteres comodín (*) para importar todas
             las clases de un paquete. Recordar que “import” no importa
             paquetes, sino clases.
                   package otroPaquete;
                   import graphics.*;
                   import java.util.*;
                   import java.awt.*;
                   class MiClase
                   {
                     ...
                     Circle c = new Circle();
                     Rectangle r = new Rectangle();
                     Vector v = new Vector();
                     Windows w = new Windows();
                     ...
                   }
   • Java importa automáticamente las clases del paquete
     java.lang
Programación III                      Tema 2 - Paquetes y API
Visibilidad de clases
   • Una clase puede ser declarada como:
           – De acceso package (por defecto), sólo en su paquete
           – De acceso public, accesible por cualquier otra
                   • Del mismo paquete
                   • De cualquier otro con un import
   • Ejemplo:
                       package contenedores;
                       public class Lista    //acceso public
                       {
                         private Nodo raiz;
                         public void add(Object dato){ ... }
                         ...
                       }
                       class Nodo     //acceso package
                       {
                         Object dato;
                         Nodo siguiente;
                       }
           – En cada fichero de código fuente sólo podrá haber una clase con
             acceso public. Si en un fichero hay una clase public, el fichero debe
             llamarse exactamente igual que la clase.
Programación III                            Tema 2 - Paquetes y API
La variable classpath (1)
   • Una aplicación Java...
           – Se compone de un conjunto de clases (.class)
           – Pueden estar en cualquier directorio de la máquina local
                   • ¿Dónde las busca la JVM?
   • La JVM usa la variable de entorno CLASSPATH
           – classpath contiene una serie de carpetas donde la JVM
             debe buscar las clases Java compiladas
           – Configuración en Windows y DOS:
                   set classpath = path1;path2;...
   • Se debe indicar el directorio donde está la
     estructura del paquete

Programación III                          Tema 2 - Paquetes y API
La variable classpath (2)
   • El classpath se usa para que tanto el compilador como la JVM conozcan
     las clases compiladas (el byteCode). Se puede indicar en la variable de
     entorno o directamente en el propio comando de
     compilación/ejecución.
           – Compilación:
                   • javac –classpath PATH CLASES.JAVA
           – Ejecución:
                   • java –cp PATH CLASE
                   • NOTA: es muy importante indicar correctamente el nombre de la clase (nunca
                     indicar la extensión .class) y que hay que indicar la jerarquía de paquetes.
   • Ejemplo:
                        package universidad.eside;
                        public class Alumno
                        {
                           ...
                        }
           – Si el directorio es
                   • c:programacionuniversidadesideAlumno.class
           – Configuración classpath:
                   • set classpath=c:programacion
           – Ejecución:
                   • java universidad.eside.Alumno


Programación III                                     Tema 2 - Paquetes y API
¿Qué es el API de Java?
   • Un conjunto de clases Java que SUN proporciona
     para ser usadas por el programador.
   • SUN desarrolla dos tipos de APIs:
           – El API núcleo (Core API) que es el conjunto mínimo de
             clases que los programadores en Java pueden asumir
             presentes en todas las plataformas. Disponibles con el
             JDK.
           – El API non-core incluido también en el JDK.
           – Extensiones adicionales.
   • Existen otras muchas librerías de clases
     desarrolladas por terceras entidades y disponibles
     en Internet.

Programación III                  Tema 2 - Paquetes y API
Org. del Core API del JDK (1/3)

   • Las clases del API del JDK se encuentran organizadas en
     paquetes. Estos son algunos de los principales:
           –       java.lang
           –       java.util
           –       java.io
           –       java.awt
   • La documentación del API del JDK está disponible por web
     en la dirección:

                      Dir_JDKdocsapiindex.html

   • Organización de la documentación del API
           – En el frame superior izquierdo se presentan todos los paquetes de los
             que consta el API. [Se muestran en orden alfabético]

Programación III                       Tema 2 - Paquetes y API
Org. del Core API del JDK (2/3)

           – En el frame inferior izquierdo se presentan todas
             las clases e interfaces que pertenecen al paquete
             seleccionado en el frame superior izquierdo. [Se
             muestran en orden alfabético]
                   • Existe una opción en el frame superior izquierdo (“All
                     Classes”) que si se selecciona mostrará en el frame
                     inferior izquierdo y por orden alfabético todas las
                     clases e interfaces que contiene el API
                     independientemente del paquete al que pertenezcan.
                      – Con esta opción, los interfaces se distinguen por aparecer en
                        cursiva.




Programación III                           Tema 2 - Paquetes y API
Org. del Core API del JDK (3/3)
           – En el frame derecho se muestran las características de la
             clase o interface seleccionado en el frame inferior
             izquierdo.
                   • Se muestra el paquete al que pertenece la clase seleccionada.
                   • Se muestra la jerarquía de clases en la que participa la clase
                     seleccionada (todas las clases de las que desciende)
                   • Se muestran los interfaces que implementa esa clase.
                   • Se muestra una pequeña descripción de la clase.
                   • Se muestra desde qué versión del JDK esa clase está incluida en el
                     API.
                   • Se muestran las clases que están relacionadas de alguna forma
                     con ella.
                   • Por último se muestran los atributos, constructores y métodos de
                     la clase, junto con una pequeña descripción de cada uno de
                     ellos.
                       – Pulsando sobre cualquiera de ellos se obtendrá una descripción más
                         detallada de cada uno.
                   • Al final se enumeran los métodos de cada una de sus clases
                     padres.
Programación III                             Tema 2 - Paquetes y API
Ejercicios propuestos

   • Mirar la documentación de la clase
     java.lang.String.
   • Mirar la documentación de la clase
     java.util.Vector.
   • Mirar la documentación de la clase
     java.util.Calendar.
   • Mirar la documentación de la clase
     java.util.Random.


Programación III            Tema 2 - Paquetes y API

Más contenido relacionado

La actualidad más candente (20)

Curso Java - Programación Digital
Curso Java - Programación DigitalCurso Java - Programación Digital
Curso Java - Programación Digital
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
 
Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentación
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
05 Creando Clases
05   Creando Clases05   Creando Clases
05 Creando Clases
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Multitarea
MultitareaMultitarea
Multitarea
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
 

Similar a PaquetesAPI

PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVAmellcv
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionAndoni Eguíluz Morán
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java ClasspathNetwork Sens
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributosRobert Wolf
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptxMiguelAmc
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosPablo Sepulveda P.
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 ExcepcionesEmilio Aviles Avila
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguezcoruniversitec
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 

Similar a PaquetesAPI (20)

PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
4ta Reunion
4ta Reunion4ta Reunion
4ta Reunion
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 Introduccion
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Programacion oo
Programacion ooProgramacion oo
Programacion oo
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptx
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a Objetos
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Guia3 java
Guia3 javaGuia3 java
Guia3 java
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 Excepciones
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 

Más de Andoni Eguíluz Morán

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611Andoni Eguíluz Morán
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Andoni Eguíluz Morán
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...Andoni Eguíluz Morán
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosAndoni Eguíluz Morán
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512Andoni Eguíluz Morán
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Andoni Eguíluz Morán
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoAndoni Eguíluz Morán
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesAndoni Eguíluz Morán
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Andoni Eguíluz Morán
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesAndoni Eguíluz Morán
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaAndoni Eguíluz Morán
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Andoni Eguíluz Morán
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasAndoni Eguíluz Morán
 

Más de Andoni Eguíluz Morán (20)

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamos
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativo
 
Uso ético y seguro de las TIC
Uso ético y seguro de las TICUso ético y seguro de las TIC
Uso ético y seguro de las TIC
 
Redes Sociales Educativas
Redes Sociales EducativasRedes Sociales Educativas
Redes Sociales Educativas
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitales
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos Digitales
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativa
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)
 
SGGN 20140605
SGGN 20140605SGGN 20140605
SGGN 20140605
 
Programación III (Java) - 09 Cierre
Programación III (Java) - 09 CierreProgramación III (Java) - 09 Cierre
Programación III (Java) - 09 Cierre
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
Programación III (Java) - 07b Swing
Programación III (Java) - 07b SwingProgramación III (Java) - 07b Swing
Programación III (Java) - 07b Swing
 
Programación III (Java) - 07 Eventos
Programación III (Java) - 07 EventosProgramación III (Java) - 07 Eventos
Programación III (Java) - 07 Eventos
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 Ventanas
 

Último

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 

PaquetesAPI

  • 1. 2. Paquetes y API Paquetes ¿Para qué sirven? Características Cómo crearlos e importarlos Localización de paquetes Visibilidad de clases Classpath API de Java Programación III Tema 2 - Paquetes y API
  • 2. ¿Para qué sirven los paquetes? • Un paquete es un mecanismo Java de agrupación y organización de clases • Tres propósitos: – Mejorar la organización de las clases – Reducir los problemas de colisión de nombres entre clases – Controlar la visibilidad de las clases, atributos y métodos de él • Las propias clases del núcleo de Java (API) se encuentran organizadas en paquetes: – package java.applet – package java.awt – package java.beans – package java.io – package java.lang – package java.sql – package java.util – ... Programación III Tema 2 - Paquetes y API
  • 3. Características de los paquetes • Paquete  conjunto de clases relacionadas – Un paquete crea un nuevo espacio de nombres • Dos clases con el mismo nombre: – NO en un mismo paquete – SÍ en distintos paquetes – Los paquetes se anidan formando jerarquías • (similar a los directorios) • Toda clase debe pertenecer a un paquete Paquete java – En caso de no especificar Paquete awt explícitamente ningún paquete, existe un paquete por defecto (sin Paquete geom Clase Arc2D nombre) al que pasará a pertenecer la Clase Point2D clase Clase Line2D Clase Ellipse2D Clase Rectangle2D Programación III Tema 2 - Paquetes y API
  • 4. Cómo crear un paquete • Cláusula package package graphics; class Circle { ... } class Rectangle { ... } – Primera sentencia del fichero – Los nombres de paquetes suelen escribirse todo en minúsculas y no suelen contener más de un concepto. Cada cambio de concepto la primera letra con mayúsculas. – Todos los nombres del fichero pertenecen al paquete – Pueden definirse ‘n’ ficheros con el mismo paquete • En un fichero Circle.java package graphics; class Circle { ... } • En un fichero Rectangle.java package graphics; class Rectangle { ... } Programación III Tema 2 - Paquetes y API
  • 5. Nombres y localización de paquetes • Nombre Completo de una Clase – Incluye como prefijo el nombre completo del paquete al que pertenece: • graphics.Circle • graphics.Rectangle • Para ejecutarlas: java graphics.Circle • Para hacer referencia a ellas desde un programa: graphics.Rectangle • Correspondencia entre paquetes y directorios – Paquete = Directorio – Nombre paquete = nombre directorio. Todas las clases del paquete en el directorio – Paquetes anidados = subdirectorios • Ejemplos: – Clases de java.awt.geom -- en el directorio ...javaawtgeom – Clases de graphics -- en el directorio …graphics – Clase graphics.Circle - en …graphicsCircle.class Programación III Tema 2 - Paquetes y API
  • 6. Importar un paquete (1) – Para acceder a las clases de otro paquete: nombre completo package otroPaquete; class MiClase { ... graphics.Circle c = new graphics.Circle(); graphics.Rectangle r = new graphics.Rectangle(); java.util.Vector v = new java.util.Vector(); ... } – Para simplificar esto, podemos utilizar import: package otroPaquete; import graphics.Circle; import graphics.Rectangle; import java.util.Vector; class MiClase { ... Circle c = new Circle(); Rectangle r = new Rectangle(); Vector v = new Vector(); ... } Programación III Tema 2 - Paquetes y API
  • 7. Importar un paquete (2) • import debe estar al principio, entre package (si lo hay) y las definiciones de clase – También se pueden usar caracteres comodín (*) para importar todas las clases de un paquete. Recordar que “import” no importa paquetes, sino clases. package otroPaquete; import graphics.*; import java.util.*; import java.awt.*; class MiClase { ... Circle c = new Circle(); Rectangle r = new Rectangle(); Vector v = new Vector(); Windows w = new Windows(); ... } • Java importa automáticamente las clases del paquete java.lang Programación III Tema 2 - Paquetes y API
  • 8. Visibilidad de clases • Una clase puede ser declarada como: – De acceso package (por defecto), sólo en su paquete – De acceso public, accesible por cualquier otra • Del mismo paquete • De cualquier otro con un import • Ejemplo: package contenedores; public class Lista //acceso public { private Nodo raiz; public void add(Object dato){ ... } ... } class Nodo //acceso package { Object dato; Nodo siguiente; } – En cada fichero de código fuente sólo podrá haber una clase con acceso public. Si en un fichero hay una clase public, el fichero debe llamarse exactamente igual que la clase. Programación III Tema 2 - Paquetes y API
  • 9. La variable classpath (1) • Una aplicación Java... – Se compone de un conjunto de clases (.class) – Pueden estar en cualquier directorio de la máquina local • ¿Dónde las busca la JVM? • La JVM usa la variable de entorno CLASSPATH – classpath contiene una serie de carpetas donde la JVM debe buscar las clases Java compiladas – Configuración en Windows y DOS: set classpath = path1;path2;... • Se debe indicar el directorio donde está la estructura del paquete Programación III Tema 2 - Paquetes y API
  • 10. La variable classpath (2) • El classpath se usa para que tanto el compilador como la JVM conozcan las clases compiladas (el byteCode). Se puede indicar en la variable de entorno o directamente en el propio comando de compilación/ejecución. – Compilación: • javac –classpath PATH CLASES.JAVA – Ejecución: • java –cp PATH CLASE • NOTA: es muy importante indicar correctamente el nombre de la clase (nunca indicar la extensión .class) y que hay que indicar la jerarquía de paquetes. • Ejemplo: package universidad.eside; public class Alumno { ... } – Si el directorio es • c:programacionuniversidadesideAlumno.class – Configuración classpath: • set classpath=c:programacion – Ejecución: • java universidad.eside.Alumno Programación III Tema 2 - Paquetes y API
  • 11. ¿Qué es el API de Java? • Un conjunto de clases Java que SUN proporciona para ser usadas por el programador. • SUN desarrolla dos tipos de APIs: – El API núcleo (Core API) que es el conjunto mínimo de clases que los programadores en Java pueden asumir presentes en todas las plataformas. Disponibles con el JDK. – El API non-core incluido también en el JDK. – Extensiones adicionales. • Existen otras muchas librerías de clases desarrolladas por terceras entidades y disponibles en Internet. Programación III Tema 2 - Paquetes y API
  • 12. Org. del Core API del JDK (1/3) • Las clases del API del JDK se encuentran organizadas en paquetes. Estos son algunos de los principales: – java.lang – java.util – java.io – java.awt • La documentación del API del JDK está disponible por web en la dirección: Dir_JDKdocsapiindex.html • Organización de la documentación del API – En el frame superior izquierdo se presentan todos los paquetes de los que consta el API. [Se muestran en orden alfabético] Programación III Tema 2 - Paquetes y API
  • 13. Org. del Core API del JDK (2/3) – En el frame inferior izquierdo se presentan todas las clases e interfaces que pertenecen al paquete seleccionado en el frame superior izquierdo. [Se muestran en orden alfabético] • Existe una opción en el frame superior izquierdo (“All Classes”) que si se selecciona mostrará en el frame inferior izquierdo y por orden alfabético todas las clases e interfaces que contiene el API independientemente del paquete al que pertenezcan. – Con esta opción, los interfaces se distinguen por aparecer en cursiva. Programación III Tema 2 - Paquetes y API
  • 14. Org. del Core API del JDK (3/3) – En el frame derecho se muestran las características de la clase o interface seleccionado en el frame inferior izquierdo. • Se muestra el paquete al que pertenece la clase seleccionada. • Se muestra la jerarquía de clases en la que participa la clase seleccionada (todas las clases de las que desciende) • Se muestran los interfaces que implementa esa clase. • Se muestra una pequeña descripción de la clase. • Se muestra desde qué versión del JDK esa clase está incluida en el API. • Se muestran las clases que están relacionadas de alguna forma con ella. • Por último se muestran los atributos, constructores y métodos de la clase, junto con una pequeña descripción de cada uno de ellos. – Pulsando sobre cualquiera de ellos se obtendrá una descripción más detallada de cada uno. • Al final se enumeran los métodos de cada una de sus clases padres. Programación III Tema 2 - Paquetes y API
  • 15. Ejercicios propuestos • Mirar la documentación de la clase java.lang.String. • Mirar la documentación de la clase java.util.Vector. • Mirar la documentación de la clase java.util.Calendar. • Mirar la documentación de la clase java.util.Random. Programación III Tema 2 - Paquetes y API