koukoudev
Messages postés6Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention29 novembre 2009
-
6 nov. 2009 à 05:56
koukoudev
Messages postés6Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention29 novembre 2009
-
29 nov. 2009 à 14:28
Bonjour ,
je suis débutante en java vous pouvez m'expliquer l'opérateur instanceof
en fait j'ai un programme qui ne marche pas:
class A
{
public static void main(String[] arg)
{
class B extends A
{}
class C extends B
{}
A a=new C();
a Instanceof C
//a instanceof B;
a =new B();
//a instanceof C;
}
}
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 6 nov. 2009 à 10:04
Salut,
l'opérateur instanceof permet de savoir si un objet est d'un certain type (type réel à la différence du type déclaré). C'est utilisé dans certains cas, le plus courant est la redéfinition de la méthode equals.
Ensuite, que veux tu faire sachant que cet opérateur renvoie une valeur booléenne.
class A {
class B extends A{
}
class C extends B{
}
public static void main(String[] arg){
A a=new C();
if(a instanceof C){
//c'est un C
}
a =new B();
if(a instanceof B){
//c'est un B
}
}
}
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 9 nov. 2009 à 13:13
Salut,
sinon, en reprenant l'exemple de kirua12, tu peux également faire :
class A {
class B extends A {
}
class C extends B {
}
public static void main(final String[] arg) {
A a = new C();
if (C.class.isInstance(a)) {
// c'est un C
}
a = new B();
if (B.class.isInstance(a)) {
// c'est un B
}
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."