Java - Llamada al método de otra clase

   
Vista:

Llamada al método de otra clase

Publicado por Julian (2 intervenciones) el 16/05/2017 04:31:50
Hola, que tal están? Tengo una duda y es que no se como llamar al método de otra clase.

Tengo que llamar a un método de la clase Equipo que retorne el equipo local y visitante.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	/**
	 * Getter del Equipo local
	 * @return el equipo local
	 */
	public Equipo getEquipoLocal()
               {
                  //Aqui debo completar y no se como
		}
 
	/**
	 * Getter del Equipo visitante
	 * @return el equipo visitante
	 */
	public Equipo getEquipoVisitante()
                {
                  //Aqui debo completar y no se como
		}

La clase Equipo es la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class Equipo
{
	public String nombreEquipo;
 
	public Equipo (String nombre)
	{
 
	    if ( nombre == null || nombre == "")
	     {
	         this.nombreincorrecto();
	     }
		else
		 {
		    nombreEquipo= nombre.trim().toLowerCase();
		 }
 
	}
	private void nombreincorrecto()
	{
	    System.out.println("El nombre no es correcto");
	    nombreEquipo="";
	}
 
 
	public String getNombre()
	{
 
		return nombreEquipo.toString();
	}
	public String toString()
	{
	    return nombreEquipo.toString();
	}
 
 
	public boolean equals (Object o)
	{
	    if (o.toString().equals(toString()))
	    {
	        return true;
	    }
	    else
	    {
	    return false;
	    }
 
	}
}
Desde ya gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Llamada al método de otra clase

Publicado por Alejandro (1 intervención) el 16/05/2017 08:02:04
Hace muy poco que comencé a aprender Java, así que soy muy novato y no puedo ayudarte mucho.

Para llamar a un método, generalmente creas una instancia de esa clase y utilizas esa instancia para llamar al método en cuestión. Por ejemplo, para llamar al método getNombre()

1
2
3
4
5
//Instanciar la clase Equipo
Equipo miequipo1 = new Equipo("Piratas");
 
//Lamada al método getNombre()
System.out.println("El equipo de mi equipo es: " + miequipo1.getNombre() );

Dices que te falta completar estos métodos:
1
2
public Equipo getEquipoLocal()
public Equipo getEquipoVisitante()

atención a que los métodos devuelven un objeto de tipo Equipo, esto quiere decir que antes (o en los mismos métodos) se tienen que crear dos objetos Equipo, uno local y uno visitante. Lo que te mencioné al principio, de instanciar primero, y luego llamar a un método, no quedaría muy bien aquí, porque entonces tendrías que crear un Equipo, y luego usar ese objeto inicial para crear otros dos Equipos (local y visitante)

A mi modo de ver (que a lo mejor está mal y alguien con más experiencia me corrige), tendrías que crear dos variables estáticas en la clase Equipo. Cada variable almacenaría un objeto de tipo Equipo (local y visitante). Por ejemplo:

1
2
3
static Equipo local;
static Equipo visitante;
String nombreEquipo;

Y crear un método dentro de la clase Equipo que se encargue de crear dos equipos, uno local y el otro visitante:

1
2
3
4
5
static void creaLocalYVisitante(String l, String v)
{
    local = new Equipo(l);
    visitante = new Equipo(v);
}

Y luego, tus métodos getters quedarian así:
1
2
3
4
5
6
7
8
9
public Equipo getEquipoLocal()
{
    return local;
}
 
public Equipo getEquipoVisitante()
{
    return visitante;
}

Por último, en main(), para crear a los dos equipos. harías:
1
Equipo.creaLocalYVisitante("Piratas", "Vikingos");

Fíjate que aquí no está sucediendo lo que te comenté al principio: No estoy usando ninguna instancia de Equipo para llamar al método creaLocalYVisitante(), sino que estoy usando la propia clase Equipo para llamar al método. Esto se debe a que el método tiene el modificador static, por lo que no se necesita (y no se debe) utilizar una instancia para llamarlo. Como local y visitante son también miembros estáticos, tienes que acceder a ellas utilizando el nombre de la clase, por ejemplo, para imprimir el nombre del visitante:

System.out.println("El equipo visitante es: " + Equipo.visitante.getNombre());

Espero que esto sirva de algo, como te dije, puede que esto no sea la solución que requieras, que mis conocimientos en Java aun son muy verdes. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llamada al método de otra clase

Publicado por Julian (2 intervenciones) el 19/05/2017 00:37:50
Muchas gracias por la respuesta, aunque no pude hacerlo andar. Logro que me retorne pero no el nombre del equipo sino "null".
De todas formas se agradece.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar