Java, métodos o funciones
JavaJutsu: métodos o funciones
En las funciones podemos tener un retorno y pueden lanzar excepciones.
/**
* Metodos
* Clase que muestra la declaración de todo tipo de métodos
*
* Para compilar:
* javac Metodos.java
*
* Para ejecutarlo:
* java Metodos
*/
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
/**
* clase Metodos
* Muestra la declaración dedistintos tipos de métodos: constructores,
* métodos con distintos tipos de retorno, métodos que lanzan excepciones,
* métodos estáticos, métodos privados, protegidos y públicos
*
* La clase es un poco absurda pero simplemente trata de mostrar distintos
* tipos de métodos
*
* @author Pello Altadill
*/
public class Metodos {
/**
* Metodos
* Constructor sin parámetros
* estos métodos son los únicos que no devuelven algo explicitamente
*/
Metodos () {
System.out.println("Has creado instancia");
}
/**
* Metodos
* Constructor con parámetros
* estos métodos son los únicos que no devuelven algo explicitamente
*/
Metodos (String opcion) {
super();
System.out.println("Opción pasada: " + opcion);
}
/**
* estatico
* Aquellos que tienen la palabra static se consideran Método de clase,
* puede ser invocado sin que se cree una instancia
* de la clase. ver main.
* De estos métodos solo se crea una copia en memoria, al igual que pasa
* con los atributos que se declaran static.
*/
public static void estatico (int veces) {
for (int i = 0; i < veces;i++) {
System.out.println("Estático> " + i);
}
}
/**
* saludar
* Método publico que devuelve un String
* Si no ponemos nada, se considera público
* @return String
*/
String saludar () {
saludoPrivado();
return "Hola yo te saludo.";
}
/**
* saludoPrivado
* Método que saca un mensaje por consola.
* Solo se puede invocar desde dentro de la clase
*/
private void saludoPrivado () {
System.out.println("Java rulez");
}
/**
* tomarDato
* Método publico lee un valor por consola y devuelve un entero
* Puede lanzar dos excepciones
* @return String
* @throws IOException, NumberFormatException
*/
public int tomarDato () throws IOException, NumberFormatException {
Console c = System.console();
String linea = c.readLine("Dame un número: ");
return Integer.parseInt(linea);
}
/**
* main
* Función principal
* esta función es la que se inicia directamente al ejecutar el programa
* @throw IOException
*/
public static void main (String args[]) throws IOException
{
// Probamos el método estático. No necesitamos crear instancia!!!
Metodos.estatico(5);
Metodos pruebaMetodos = new Metodos("hola");
pruebaMetodos.saludar();
int entero = pruebaMetodos.tomarDato();
}
}