Capacitación de Java

Sintaxis del lenguaje Java

Clases

class MiClase  {
    // campos
    // constructores
    // métodos
}

Declaración

... class MiClase extends MiSuperClase implements Interface1,Interface2 {
    //...
}

La definición de la clase está compuesta por:

Declaración de variables

Están compuestos de:

public int peso;

Las variables de una clase son llamadas campos (fields).

Las variables de un método o bloque son llamadas variables locales.

Las variables de dentro de una declaración de un método son llamados parámetros.

Definición de métodos

Debe estár compuesto de:

Ejemplo:

public double nombreMetodo(double par1, int par2) throws Exception1{
    	//dentro del método
}

Por convención el nombre de los métodos debe empezar con un verbo.

Sobrecarga de métodos

Es cuando una clase tiene métodos con el mismo nombre pero tiene diferente número de parámetros o diferente tipos de datos en sus parámetros.

public class Artista {
	...
	public void dibujar(String s) {
		...
	}
	public void dibujar(int i) {
		...
	}
	public void dibujar(double f) {
		...
	}
	public void dibujar(int i, double f) {
		...
	}
}

La sobrecarga de funciones no debe ser usada mucho. El código no se hace tan legible.

Constructores

Parámetros

Son la lista de variables a ser utilizadas dentro de la definición de un método o constructor. Están siempre entre paréntesis (...)

Los argumentos son los valores que se envían al llamar a una función.

int a=3;
int b=5;
obj.obtenerSuma( a, b); //argumentos

Como tipos de parámetros se puede usar cualquier datos primitivo, objeto y arreglos.

Para los parámetros se usa la misma convención de las variables.

Número arbitrario de parámetros *Java 5

Se utiliza para cuando no sabemos el número exacto de parámetros que necesitamos.

Se lo define:

obtenerSuma(int... cantidades){
... //funciona como un arreglo --> cantidades[]
}

Y se lo usa de la siguiente manera:

obtenerSuma(12,15,10);
obtenerSuma(10,20,3,45,100,2);

Hay que tener cuidado con "Shadow". Para lo cual se utiliza this

public class Circulo {
    private int x, y, radio;
    public void ponerDatos(int x, int y) {
        ... // this.x no es lo mismo que x
    }
}

Paso de parámetros primitivos

Todos los datos primitivos se pasan por valor.

 public static void main(String[] args) {
   	   
        int x = 3;
   	   
        //invocamos a cambiar() con x de argumento
        cambiar(x);
   	   
        // imprime x ara ver si ha cambiado
        System.out.println("Después de invocar al método, x = " + x);
   	   
    }
   	
    public static void cambiar(int p) {
        p = 10;
    }

Paso de referencias a objetos

En Java las referencias también se pasan por valor. Los campos de los objetos si cambian, si su referencia es la que se pasa.

public void moverCirculo(Circulo circulo, int x, int y) {

        circulo.setX(x); // si cambia
        circulo.setY(y); // si cambia
    	
        //se asigna una nueva referencia
        circle = new Circle(0, 0); // solo cambia "dentro del metodo"
    }

Invocación

	// se envia la referencia
	moverCirculo(miCirculo, 23, 56);

Modificadores de acceso en Java

Modificador Clase Paquete Subclase Mundo
public S S S S
protected S S S N
no modifier S S N N
private S N N N
Índice Siguiente