Disons que nous avons un nom de classe Home. Quelle est la différence entre Home.this et Home.class? À quoi se réfèrent-ils?Signification de .this et .class dans java
Répondre
home.This
Home.this
fait référence à l'instance actuelle de la classe Home
.
Le terme formel pour cette expression semble être Qualified this, comme référencé dans la Section 15.8.4 de la spécification de langage Java.
Dans une classe simple, l'expression Home.this
et this
sera équivalente. Cette expression n'est utilisée que dans les cas où il existe une classe interne, et il faut se référer à la classe englobante.
Par exemple:
class Hello {
class World {
public void doSomething() {
Hello.this.doAnotherThing();
// Here, "this" alone would refer to the instance of
// the World class, so one needs to specify that the
// instance of the Hello class is what is being
// referred to.
}
}
public void doAnotherThing() {
}
}
Home.class
Home.class
retournera la représentation de la classe Home
comme un objet Class
.
Le terme formel pour cette expression est class literal, comme référencé dans la Section 15.8.2 de la spécification du langage Java.
Dans la plupart des cas, cette expression est utilisée lorsque l'on utilise reflection et nécessite un moyen de faire référence à la classe elle-même plutôt qu'à une instance de la classe.
Home.class
renvoie l'instance de java.lang.Class<Home>
correspondant à la classe Home
. Cet objet vous permet de réfléchir sur la classe (connaître les méthodes et les variables qu'elle contient, sa classe parente, etc.) et de créer des instances de la classe.
Home.this
n'a de sens que si vous êtes dans une classe imbriquée de Home. Ici Home.this
retournera l'objet de la classe Home
que l'objet de la classe imbriquée est imbriquée.
- 1. MooTools Class objets et 'this'
- 2. this = this en Java décompilé
- 3. java « this » en C++
- 4. Java: fichier .class et java.lang.Class
- 5. Java ".addActionListener (this)"
- 6. La signification de ':' et '?'
- 7. Java Class Path
- 8. Class Dictionary dans java (structure de données)
- 9. Java Scanner Class
- 10. Util Class en Java
- 11. Java Synchronized Block for .class
- 12. java class member initialisation
- 13. Java Class Type
- 14. .class path api java
- 15. Java: .Class searcher
- 16. Java Mail Class
- 17. Java Erreur de jeu (Array, this., Methods)
- 18. Quelle est la différence entre "this", "$ this" et "$ (this)"?
- 19. Quelle est la signification de "ceci" en Java?
- 20. L'ajout de "this" référence à Array échoue dans Java Constructeur
- 21. Signification et définition xmlns = « »
- 22. Outil de lecture et d'affichage des versions Java .class
- 23. import java class en js
- 24. Java Class AudioFormat: Commande d'octets
- 25. AJAX Fermetures et ciblage 'this'
- 26. singleton class in java API
- 27. Quelle est la signification de la déclaration Enum de Java?
- 28. Signification de l'espace PermGen
- 29. Java Enum List from Class
- 30. Java Inner Class Iterator Problème
Grande explication! –
Existe-t-il une manière similaire de faire cela en C# aussi? – moorara
@MiladIrannejad Pas comme NestingClass.this. Voir http://stackoverflow.com/a/185144/1986241 – Suzi