Está en la página 1de 7

PACKAGE

PROYECTOS JAVA EN PAQUETES Los proyectos (en general podríamos establecer equivalencia
de proyecto con programa, pero no siempre es así; proyecto es un conjunto de código que se
mantiene agrupado) en Java se suelen organizar en paquetes (packages). El concepto de paquete
viene siendo similar al de carpeta en Windows: un contenedor donde mantenemos cosas
relacionadas entre sí.
La organización del proyecto será por tanto similar a la organización de archivos: en un paquete
podremos tener por ejemplo clases de tipo A, en otro, clases de tipo B y así sucesivamente. A su
vez, un paquete puede contener subpaquetes: por ejemplo, el paquete A puede contener a los
subpaquetes A.1, A.2 y A.3. Un package es una agrupación de clases afines. Recuerda el concepto
de librería existente en otros lenguajes o sistemas.
Una clase pertenece a un package y puede usar otras clases definidas en ese o en otros packages.
Los packages delimitan el espacio de nombres (space name). 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 incluida como una línea de código, cuya sintaxis
es: package nombrePackage;. La cláusula package debe ser la primera sentencia del código fuente.
Por ejemplo, una clase puede comenzar así:

package miPackage;
...
public class miClase {
...
CLÁUSULA IMPORT

Para poder interactuar entre diferentes paquetes, por ejemplo, utilizar una clase desde otra clase,
necesitamos importar esa clase que necesitamos. Esto no es necesario cuando las clases se
encuentran en el mismo paquete, pero cuando esto no es así debemos hacer uso de la
cláusula import la cual siempre tiene que ir luego de la cláusula package (si existiera) y antes de
la declaración de clases, a continuación algunos ejemplos:
– En este caso tenemos todas las clases en el mismo paquete mipaquete, véase:
1 package mipaquete;
2
3 class MiClase {
4 Rectangulo r;
5 ...
}
6
Para hacer uso de la clase Rectángulo nos referimos a ella directamente ya que esta se encuentra
en el paquete mipaquete. Esa clase puede ser publica o no, y al no ser publica se considera que
es Package friendly (Amistosa) o Default access (de Acceso por defecto) por lo que solo
puede accedida desde su mismo paquete.
– En otro caso tenemos nuestras clases en el paquete mipaquete y las clases que queremos usar
en el paquete geometria.figuras, por lo tanto tenemos diferentes paquetes, véase:
1 package mipaquete;
2
3 import geometria.figuras.Rectangulo;
4
5 class MiClase {
6 Rectangulo r;
7 ...
}
8
En este otro caso la clase Rectangulo que queremos usar se encuentra en un paquete distinto,
entonces para poder usarla hacemos el uso de:
1 ...
2 import geometria.figuras.Rectangulo;
3 ...

el cual importa directamente esa clase desde su paquete. En este caso la clase debe de ser publica,
de lo contrario no podemos acceder a ella.

En el último ejemplo vimos la necesidad de importar la clase Rectangulo, y es que existen tres
formas de hacerlo:
1- Importar directamente la clase que necesitamos (el método usado en el ejemplo):
import geometria.figuras.Rectangulo;
2- Usar el comodín “*” para importar todo el contenido del paquete geometria.figuras:
import geometria.figuras.*;
3- No usar la cláusula import, simplemente cada vez que necesitemos algo escribimos su ubicación
completa:
1
2 package mipaquete;
3
4 class MiClase {
5 geometria.figuras.Rectangulo r;
6

MÉTODOS EN JAVA

Un método en Java es un conjunto de instrucciones definidas dentro de una clase, que realizan una
determinada tarea y a las que podemos invocar mediante un nombre.

Cuando se llama a un método, la ejecución del programa pasa al método y cuando éste acaba, la
ejecución continúa a partir del punto donde se produjo la llamada.

Para que usar métodos:

Podemos construir programas modulares.

Se consigue la reutilización de código. En lugar de escribir el mismo código repetido cuando se


necesite, por ejemplo, para validar una fecha, se hace una llamada al método que lo realiza.

En Java un método siempre pertenece a una clase.

Todo programa java tiene un método llamado main. Este método es el punto de entrada al programa
y también el punto de salida.
1. ESTRUCTURA GENERAL DE UN MÉTODO JAVA

La estructura general de un método Java es la siguiente:

[especificadores] tipoDevuelto nombreMetodo([lista parámetros])

// instrucciones

[return valor;]

Los elementos que aparecen entre corchetes son opcionales.

especificadores (opcional): determinan el tipo de acceso al método. Se verán en detalle más


adelante.

tipoDevuelto: indica el tipo del valor que devuelve el método. En Java es imprescindible que, en la
declaración de un método, se indique el tipo de dato que ha de devolver. El dato se devuelve
mediante la instrucción return. Si el método no devuelve ningún valor este tipo será void.

nombreMetodo: es el nombre que se le da al método. Para crearlo hay que seguir las mismas
normas que para crear nombres de variables.

Lista de parámetros (opcional): después del nombre del método y siempre entre paréntesis puede
aparecer una lista de parámetros (también llamados argumentos) separados por comas. Estos
parámetros son los datos de entrada que recibe el método para operar con ellos. Un método puede
recibir cero o más argumentos. Se debe especificar para cada argumento su tipo. Los paréntesis son
obligatorios, aunque estén vacíos.

return: se utiliza para devolver un valor. La palabra clave return va seguida de una expresión que
será evaluada para saber el valor de retorno. Esta expresión puede ser compleja o puede ser
simplemente el nombre de un objeto, una variable de tipo primitivo o una constante.

El tipo del valor de retorno debe coincidir con el tipoDevuelto que se ha indicado en la declaración
del método.

Si el método no devuelve nada (tipoDevuelto = void) y la instrucción return no se utiliza.

Un método puede devolver un tipo primitivo, un array, un String o un objeto.

Un método tiene un único punto de inicio, representado por la llave de inicio {. La ejecución de un
método termina cuando se llega a la llave final } o cuando se ejecuta la instrucción return.

La instrucción return puede aparecer en cualquier lugar dentro del método, no tiene que estar
necesariamente al final.
2. IMPLEMENTACIÓN DE MÉTODOS EN JAVA

Pasos para implementar un método:

1. Describir lo que el método debe hacer

2. Determinar las entradas del método

3. Determinar los tipos de las entradas

4. Determinar el tipo del valor retornado

5. Escribir las instrucciones que forman el cuerpo del método

6. Prueba del método: diseñar distintos casos de prueba

Ejemplo de método: método que suma dos números enteros.

import java.util.*;

public class Metodos1 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int numero1, numero2, resultado;

System.out.print("Introduce primer número: ");

numero1 = sc.nextInt();

System.out.print("Introduce segundo número: ");

numero2 = sc.nextInt();

resultado = sumar(numero1, numero2);

System.out.println("Suma: " + resultado);

public static int sumar(int a, int b){

int c;

c = a + b;

return c;

}
El método se llama sumar y recibe dos números enteros a y b. En la llamada al método los valores
de las variables numero1 y numero2 se copian en las variables a y b. El método suma los dos
números y guarda el resultado en c. Finalmente devuelve mediante la instrucción return la suma
calculada.

Ejemplo de programa Java que contiene un método con varios return:

Programa que lee por teclado un año y calcula y muestra si es bisiesto. Para realizar el cálculo utiliza
un método llamado esBisiesto.

package bisiesto;

import java.util.*;

public class Bisiesto {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int año;

System.out.print("Introduce año: ");

año = sc.nextInt();

if(esBisiesto(año)) //llamada al método

System.out.println("Bisiesto");

else

System.out.println("No es bisiesto");

/**

* método que calcula si un año es o no bisiesto

*/

public static boolean esBisiesto(int a){

if(a%4==0 && a%100!=0 || a%400==0)

return true;

else

return false;

}
METODO MAIN()

El método main() es el punto de entrada de la aplicación, es decir, es el punto en el que comienza la


ejecución de esta. Es por ello que ha de ser public y static.

Ha de ser público y estático

 public: Un método público es accesible desde fuera de la clase.


 static: Un método estático es aquel que se puede ejecutar sin una instancia de la clase.

Al ser el punto de entrada, ha de ser accesible desde fuera de la clase en la que se encuentra.
Además, al ser lo primero que se ejecuta, ha de ser posible su ejecución antes de instanciar un
objeto.

Además, ha de tener un tipo de devolución void


Como consecuencia directa de ser la primera línea de código que se ejecuta, no tiene sentido que
tenga un tipo de devolución distinto de void, ya que no hay un código anterior que pueda hacer algo
con ese valor. El método main() en Java siempre tiene un tipo de devolución void.

A continuación, ha de llamarse main(), en minúscula


El método main() ha de llamarse main, en minúscula. A la hora de ejecutar el código, el entorno de
ejecución de Java (JRE) busca el punto de entrada predeterminado. El JRE solo sabe que es un
método llamado main. Si no lo encuentra, no puede acceder. Es por ello que puedes
considerar main como una palabra clave de acceso. Si la cambias, tu aplicación no se ejecutará.

Por último, ha de aceptar un único parámetro: una matriz String[]

El método main() acepta un parámetro (y solo uno): una matriz de tipo String. Esta matriz recoge los
valores que introduzcas a la hora de ejecutar tu aplicación desde la línea de comandos. Da igual el
valor que introduzcas; el JRE lo transformará a String.

También podría gustarte