Java - interface, instacias?

 
Vista:

interface, instacias?

Publicado por novato con grandes problemas (1 intervención) el 26/11/2006 20:03:10
hola muy buenas tardes a todos, soy nuevo programando en java y tengo algunos problemas y ya me estoy desesperando.ayuda por favor!!

el preblema es con las interface y las instancias, un ejemplo es este:

public interface MiInterface {
public void principal(int valor1, int valor2);
public Object metodo1 ( Object x, Object y);
public Object metodo2 (iObject x, Object y);
}

public class MiClase implements MiInterface{
public int i;
public int j;

public MiClase() {}

public MiInterface aux= new MiClase();
public void principal(int valor1, int valor2){
i=valor1;
j=valor2;
}
public Object metodo1(Object x, Object y){ .... }
public Object metodo2(Object x, Object y);{ .....}
}

public class OtraClase{
MiInterface aux= new MiClase();
aux=aux.pricipal(int valor1, int valor2)
}

LAS DUDAS SON ESTAS:

1. cuando hago MiInterface aux= new MiClase(); aux=aux.pricipal(int valor1, int valor2);
estoy haciendo un objeto de tipo MiClase o estoy llamando a MiClase? si no es un objeto lo puedo hacer un objeto?

2. como hago para que los valores que le doy a i,j en el metodo "principal" no se modifiquen la proxima ves que haga aux=aux.principal(int valor1, int valor2) o cuando use los metodos "metodo1" y "metodo2"? usando el this o esto hace que se modifique?
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
sin imagen de perfil

RE:interface, instacias?

Publicado por chuidiang (950 intervenciones) el 26/11/2006 20:18:17
Hola:

Cuando haces el new MiClase() estás creando una instancia de MiClase. Eso es un objeto.

Cuando haces aux=aux.principal(int valor1, int valor2); no sé qué estas haciendo, porque eso no tiene sentido ninguno.

aux.principal(4,5); llamaría al método principal() de MiClase. No puedes poner como parámetros en la llamada int valor1, int valor2. El método no devuelve nada, pone void, así que no puedes asignarseo a aux ( aux = aux.principal (...); )

Tal cual has hecho el metodo principal, i y j se guardan en la clase, así que se modifican para esa instancia de la clase.

Se bueno.
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