"Hej, Amigo! Du har redan träffat instanceof -operatören. Idag ska jag berätta hur och var den kan användas. instanceof är en mycket enkel och effektiv operatör."
"Det låter som en reklam!"
"Det är verkligen väldigt enkelt. Det används så här: «objekt»-instans av «klass» ."
Den kontrollerar om ett objekt är en instans av en viss klass. Det är lättare än att förklara det. Titta på det här exemplet:
Koda | Beskrivning |
---|---|
|
isInt kommer att vara sant . Objektet som refereras till av variabeln o är en instans av klassen Integer . |
|
isInt kommer att vara falskt . Objektet som refereras till av variabeln o är inte en instans av klassen Integer . Det är ett String- objekt. |
|
isFIS kommer att vara sant . Objektet som refereras till av variabeln o är en instans av klassen FileInputStream . |
"Ja, det är väldigt enkelt."
"Den här operatören står också för arv. Kolla upp det."
Koda | Beskrivning |
---|---|
|
Här har vi tre klassdeklarationer: Djur, Katt och Tiger. Katt ärver djur. Och Tiger ärver Cat. |
|
isCat kommer att vara sant . isTiger kommer att vara sant . isAnimal kommer att vara sant . |
|
isCat kommer att vara falsk . isTiger kommer att vara falsk . isAnimal kommer att vara sant . |
Och även gränssnitt:
Koda | Beskrivning |
---|---|
|
Skapa två klasser: Cat, TomCat och Moveable-gränssnittet |
|
isCat kommer att vara sant . isMoveable kommer att vara sant . isTom kommer att vara sant . |
|
isCat kommer att vara sant . isMoveable kommer att vara falskt . isTom kommer att vara falsk . |
Operatorn instansof ser ut så här: en instans av B .
Med andra ord kommer instansen av operatorn att returnera sant om:
1) variabel a lagrar en referens till ett objekt av typ B
2) variabel a lagrar en referens till ett objekt vars klass ärver B
3) variabel a lagrar en referens till ett objekt som implementerar gränssnitt B
Annars kommer instansen av operatorn att returnera false .
"Förstår. Så varför är detta nödvändigt, farbror Rishi?"
"Ellie ska berätta om det i dag. Det här är en riktigt trevlig operatör. Du kommer att vara övertygad om det idag."
GO TO FULL VERSION