L’opérateur instance en Java sert à indiquer à l’exécution si un objet est une instance d’une classe particulière. Instanceof indique si l’objet est une instance de cette classe particulière ou de sa sous-classe en retournant un booléen.
instanceof en Java est dans .net !
Usage: résultat = instance objet de la classe Paramètre: Résultat : type booléen. Objet : Obligatoire. Expressions d’objets arbitraires. Cours : Obligatoire. Toute classe d’objet définie. Illustrer: Si l’objet est une instance de la classe, l’opérateur instance of retourne true. Si l’objet n’est pas une instance de la classe spécifiée, ou si l’objet est nul, faux est retourné.
Cependant, il existe une différence entre l’état de compilation et l’état d’exécution de l’instance en Java :
Dans l’état compilé, la classe peut être la classe parente, sa propre classe ou la classe enfant de l’objet objet. Dans ces trois cas, Java ne signale pas d’erreur lors de la compilation.
Dans la transition en cours, la classe peut être la classe mère de l’objet objet, sa propre classe, et non une classe enfant. Dans les deux premiers cas, le résultat est vrai, et le dernier est faux. Cependant, lorsque la classe est une sous-classe, la compilation ne signalera pas d’erreur. Le résultat de la course est faux.
Exemple:
interface Person
interface publique Person { Manger le vide public () ;
}
Implémenter la classe People
classe publique Personnes implémentent Personne { Private int A=0 ; @Override Public Void Eat() { System.out.println(« ======"+a) ;
}
}
Sous-catégorie xiaoming :
la classe publique xiaoming étend les Personnes { nom privé String ;
@Override Public Void Eat() { System.out.println(« +++++++++ ») ;
}
}
Fonction principale
Note : Le code aux deux endroits ci-dessus ne signalera pas d’erreur lors de la compilation.
Résultat de la série :
true
false
true
true
|