He visto un par de ejemplos similares a esto en Java, y espero que alguien pueda explicar lo que está sucediendo. Parece que una nueva clase se puede definir en línea, lo que me parece realmente extraño. Se espera la primera línea impresa, ya que es simplemente el toString. Sin embargo, el segundo parece que la función puede ser anulada en línea. ¿Hay un término técnico para esto? O cualquier documentación que profundiza? ¡Gracias!Java - definición de clase en línea
Si tengo el siguiente código:
public class Apple {
public String toString() {
return "original apple";
}
}
public class Driver {
public static void main(String[] args) {
System.out.println("first: " + new Apple());
System.out.println("second: " +
new Apple() {
public String toString() {
return "modified apple";
}
}
);
}
}
Las salidas de código:
first: original apple
second: modified apple
¡Gracias a todos! ¡Leeré sobre esto! –
Solo quiero agregar que el valor 'this' dentro del método onClick se refiere a la instancia de Button, si desea hacer referencia a la instancia de Ejemplo dentro del método onClick puede usar 'Example.this'. Las clases internas estáticas no tienen esta referencia sin embargo. – Hoffmann