
public class Prueba {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Piloto alonso = new Piloto("Alonso");
		System.out.println("Piloto creado: " +alonso +"\n");
		
		Coche coche1 = new Coche(alonso);
		Coche coche2 = new Coche(alonso);
		
		System.out.println("Ref.Piloto: " +alonso);
		System.out.println("Nomb.Piloto: " +alonso.getNombre() +"\n");
		
		System.out.println("Ref.Piloto del coche 1: " +coche1.getPiloto());
		System.out.println("Ref.Piloto del coche 2: " +coche2.getPiloto());
		System.out.println("Nomb.Piloto del coche 1: " +coche1.getPiloto().getNombre());
		System.out.println("Nomb.Piloto del coche 2: " +coche2.getPiloto().getNombre()+"\n");
		
		System.out.println("Cambiamos el nombre del objeto a \"alonsillo traidor\" \n");
		coche1.getPiloto().setNombre("Alonsillo traidor");
		
		System.out.println("Ref.Piloto: " +alonso);
		System.out.println("Nomb.Piloto: " +alonso.getNombre() +"\n");
		
		coche1.getPiloto().puntos=120;
		System.out.println("puntos coche2: "+coche2.getPiloto().puntos);
		System.out.println("Ref.Piloto del coche 1: " +coche1.getPiloto());
		System.out.println("Ref.Piloto del coche 2: " +coche2.getPiloto());
		System.out.println("Nomb.Piloto del coche 1: " +coche1.getPiloto().getNombre());
		System.out.println("Nomb.Piloto del coche 2: " +coche2.getPiloto().getNombre());
		
		System.out.println("\nPor tanto queda demostrado que los 2 coches hacen referencia al mismo objeto piloto!");
		System.out.println("Pregunta: Para que sirve el static?");
		
	}

	
	
	
}

