docs java jls

docs - java documentation 9



¿Qué significa la construcción "calificado para esto" en java? (2)

Sin el calificativo, x() recesaría. Con el calificador, se invoca el método x() la instancia adjunta.

class Envelope { void x() { System.out.println("Hello"); } class Enclosure { void x() { Envelope.this.x(); /* Qualified*/ } } }

En Effective Java dentro del elemento "Elemento 22: Favorecer las clases de miembros estáticas sobre las no estáticas" Josh Bloch dice:

Cada instancia de una clase miembro no estática está asociada implícitamente con una instancia adjunta de su clase contenedora. Dentro de los métodos de instancia de una clase miembro no estática, puede invocar métodos en la instancia adjunta u obtener una referencia a la instancia adjunta utilizando el constructo calificado.

¿Qué quiere decir con calificado este constructo ?


Una clase miembro no estática tiene una referencia implícita a una instancia de la clase envolvente. El calificado Este término se refiere a la instancia de la clase adjunta. Si la clase adjunta es A , y la clase interna es B , puede direccionar la referencia A.this de A desde B como A.this .