Foros del Web » Programación para mayores de 30 ;) » Java »

¿Por qué en esta línea no usa un objeto al llamar al método get? (java)

Estas en el tema de ¿Por qué en esta línea no usa un objeto al llamar al método get? (java) en el foro de Java en Foros del Web. Hola, viendo la implementación de la interfaz List dada por la clase AbstractList me he encontrado con algo que me ha desconcertado un poco (hace ...
  #1 (permalink)  
Antiguo 21/04/2006, 08:54
 
Fecha de Ingreso: enero-2006
Mensajes: 30
Antigüedad: 18 años, 3 meses
Puntos: 0
¿Por qué en esta línea no usa un objeto al llamar al método get? (java)

Hola, viendo la implementación de la interfaz List dada por la clase AbstractList me he encontrado con algo que me ha desconcertado un poco (hace tiempo que no programaba en Java). Dentro de la clase se hace uso de unos métodos (get y checkforcomodification) que se llaman sin usar objeto, ni "this" ni "super". ¿por qué esto? ¿Era porque se llama a un método definido en la misma clase?
Código:
public Object next() {
            checkForComodification();
	    try {
		Object next = get(cursor);
		lastRet = cursor++;
		return next;
	    } catch(IndexOutOfBoundsException e) {
		checkForComodification();
		throw new NoSuchElementException();
	    }
	}

Última edición por tiroxino; 21/04/2006 a las 10:07
  #2 (permalink)  
Antiguo 21/04/2006, 12:46
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Cita:
checkForComodification();
y
Cita:
this.checkForComodification();
son sinonimos en este caso.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 21/04/2006, 16:47
 
Fecha de Ingreso: enero-2006
Mensajes: 30
Antigüedad: 18 años, 3 meses
Puntos: 0
El problema lo tengo con el método get, ya que con éste no puedo usar "this". El trozo de código que puse en el post anterior pertenece a una clase interna. El método "checkForComodification()" se implementa en la clase contenedora. Y el método get está implementado en la clase padre de la clase contenedora:

A(implementa get) <---- B (contiene la clase interna X)

Entonces en la clase interna X si hago un casting no funciona:
((A)this).get()
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:21.