Ir al contenido principal

Java Tip 5: Paquetes (package)




Los paquetes (package) en Java son la manera en la cual organizamos nuestras clases. Es importante respetar el orden de declaración y por lo tanto la palabra package debe ser la primera línea del archivo fuente.

Ejemplo. Tenemos un archivo llamado A.java en el directorio C:\Users\DELL\javaTest\pack1. Dicho de otro modo  C:\Users\DELL\javaTest\pack1\A.java


/**
* pack1 es el lugar donde se encuentra 
* el archivo A.java
*/
package pack1;

public class A{
   //variables de instancia
   //Constructor(es)
   //métodos
}

Ahora tenemos otro archivo llamado B.java en el directorio C:\Users\DELL\Documents\programacion\pack2 Osea C:\Users\DELL\Documents\programacion\pack2\B.java.

/**
* pack2 es el lugar donde se encuentra 
* el archivo B.java
*/
package pack2;

public class B{
   //variables de instancia
   //Constructor(es)
   //métodos
}

¿Cómo podemos hacer uso de los archivos A.java y B.java en otro archivo?

Tenemos un archivo llamado C.java en el directorio C:\Users\DELL\Documents\programacion\pack3. Así: C:\Users\DELL\Documents\programacion\pack3\C.java

/**
* pack3 es el lugar donde se encuentra 
* el archivo C.java
*/
package pack3;

//debemos importar las clases A y B

public class C{
   
  public static void main(String[] args){
   

 }

}

Para poder importar las clases A.java y B.java en el archivo C.java necesitamos usar la palabra import seguido del paquete y clase a importar.

Primera opción: Importar las clases de un package.

/**
* pack3 es el lugar donde se encuentra 
* el archivo C.java
*/
package pack3;

//Importamos la clase A del package pack1
import pack1.A; 
//Importamos la clase B del package pack2
import pack2.B;

public class C{
   
  public static void main(String[] args){
     A a = new A();
     B b = new B();
  }

}

Segunda opción: Importar todo de un package en específico.

/**
* pack3 es el lugar donde se encuentra 
* el archivo C.java
*/
package pack3;

//Importamos todo del package pack1
import pack1.*; 
//Importamos tyodo del package pack2
import pack2.*;

public class C{
   
  public static void main(String[] args){
     A a = new A();
     B b = new B();
  }

}

Nota: como buena práctica no deberíamos importar todo el contenido de un package sólo cuando la situación así lo requiera.

Esto se puede ver mejor así:
..\pack1\A.java
..\pack2\B.java
..\pack3\C.java

Ahora supongamos que tenemos algo como esto:

..\pack1\clases\A.java
..\pack2\interfaces\B.java
..\pack3\test\C.java

El archivo A.java se vería así:

/**
*
*  ..\pack1\clases\A.java
**/
package pack1.clases;

public class A{}

El archivo B.java:

/**
*
*  ..\pack2\interfaces\B.java
**/
package pack2.interfaces;

public interface B{
  public abstract void nada();
}

Finalmente el archivo C.java:

/**
*
*  ..\pack3\test\C.java
**/
package pack3.test;

//importamos clase A.java
import pack1.clases.A;

//importamos interface B.java
import pack2.interface.B;


public class C implements B{

  private A a;
  
  @Override
  public void nada(){
  }


}

¿Qué pasa con los archivos que pertenecen al mismo package?

Su importación es directa.

..\pack1\X.java
..\pack1\Y.java

X.java

package pack1;


public class X{
  
  // Y.java esta dentro del mismo paquete de X.java
  public Y y;

}

Y.java

package pack1;


public class Y{
  
  // X.java esta dentro del mismo paquete de Y.java
  public X x;

}


Comentarios

Entradas populares de este blog

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E

¿Cómo diseñar una API REST? (Youtube)

Java en ejemplos: creando nuestras propias excepciones

De errores y excepciones Una excepción en programación es una anomalía en el flujo de un programa. El programador puede anticiparse a ésta haciendo que su código pueda librarla y que el programa no termine abruptamente. Ejemplo. Una excepción podría ocurrir en un programa que lee archivos de texto, el programa es incapaz de leer líneas con acentos, apóstrofes, letras Ñ o símbolos raros. El programador tendría que saber manejar esas excepciones y mitigarlas. Un error es un problema en el programa que hará que éste termine abruptamente; el programador queda indefenso, no puede hacer nada al respecto para remediarlo. Este error puede ser falta de memoria o recursos del sistema, entre otros más. Ejemplo. Un programa pude cerrarse abruptamente al quedarse sin memoria el sistema operativo. En Java cada clase (propia o definida por el programador) es hija de la clase padre ``Object``. La clase ``Throwable`` es padre de la clase ``Exception`` y así sucesivamente. Como