CodeGym /Java tanfolyam / /operátor példánya

operátor példánya

Szint , Lecke
Elérhető

"Szia, Amigo! Már találkoztál az instanceof operátorral. Ma elmondom, hogyan és hol lehet használni. Az instanceof egy nagyon egyszerű és hatékony operátor."

– Ez úgy hangzik, mint egy reklám!

"Valójában nagyon egyszerű. Így használják: «objektum» példány az «osztály» .

Ellenőrzi, hogy egy objektum egy adott osztály példánya-e. Könnyebb, mint elmagyarázni. Nézd meg ezt a példát:

Kód Leírás
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt igaz lesz . Az o változó által hivatkozott objektum az Integer osztály egy példánya .
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt hamis lesz . Az o változó által hivatkozott objektum nem az Integer osztály példánya . Ez egy String objektum.
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
isFIS igaz lesz . Az o változó által hivatkozott objektum a FileInputStream osztály egy példánya .

– Igen, ez nagyon egyszerű.

"Ez az operátor örökléssel is számol. Nézze meg."

Kód Leírás
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
Itt van három osztálynyilatkozat: Állat, Macska és Tigris. A macska az állatot örökli. Tigris pedig örökli Cat.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat igaz  lesz  .
isTiger igaz  lesz  .
isAnimal igaz  lesz  .
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat hamis  lesz .
isTiger hamis  lesz  .
isAnimal igaz  lesz  .

És még az interfészek is:

Kód Leírás
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
Hozzon létre két osztályt: Cat, TomCat és a Moveable felületet
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat igaz  lesz  .
isMoveable igaz  lesz  .
isTom igaz  lesz  .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat igaz  lesz  .
Az isMoveable hamis  lesz  .
isTom hamis  lesz  .

Az instanceof operátor így néz ki: a instanceof B .

Más szavakkal, az instanceof operátor igazat ad vissza , ha:

1) az a változó hivatkozást tárol egy B típusú objektumra

2)  az a változó hivatkozást tárol egy objektumra, amelynek osztálya  B-t örököl

3)  az a változó hivatkozást tárol egy olyan objektumra, amely megvalósítja a  B interfészt

Ellenkező esetben az instanceof operátor false értéket ad vissza .

– Értem. Akkor miért van erre szükség, Rishi bácsi?

"Ellie ma erről fog neked mesélni. Ez egy nagyon kedves kezelő. Ma meg fogod győződni róla."

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION