"Hei, Amigo! Du har allerede møtt operatørens instance . I dag skal jeg fortelle deg hvordan og hvor den kan brukes. instanceof er en veldig enkel og effektiv operatør."
"Det høres ut som en annonse!"
"Det er egentlig veldig enkelt. Det brukes slik: «objekt»-forekomst av «klasse» ."
Den sjekker om et objekt er en forekomst av en bestemt klasse. Det er lettere enn å forklare det. Se på dette eksemplet:
Kode | Beskrivelse |
---|---|
|
isInt vil være sant . Objektet referert til av variabelen o er en forekomst av Integer- klassen. |
|
isInt vil være falsk . Objektet referert til av variabelen o er ikke en forekomst av Integer- klassen. Det er et String- objekt. |
|
isFIS vil være sant . Objektet referert til av variabelen o er en forekomst av FileInputStream -klassen. |
"Ja, det er veldig enkelt."
"Denne operatøren står også for arv. Sjekk det ut."
Kode | Beskrivelse |
---|---|
|
Her har vi tre klasseerklæringer: Dyr, Katt og Tiger. Katt arver dyr. Og Tiger arver Cat. |
|
isCat vil være sant . isTiger vil være sant . isAnimal vil være sant . |
|
isCat vil være falsk . isTiger vil være falsk . isAnimal vil være sant . |
Og til og med grensesnitt:
Kode | Beskrivelse |
---|---|
|
Lag to klasser: Cat, TomCat og Moveable-grensesnittet |
|
isCat vil være sant . isMoveable vil være sant . isTom vil være sann . |
|
isCat vil være sant . isMoveable vil være falsk . isTom vil være falsk . |
Forekomsten av operatoren ser slik ut: en forekomst av B .
Med andre ord vil instansen av operatøren returnere sann hvis:
1) variabel a lagrer en referanse til et objekt av type B
2) variabel a lagrer en referanse til et objekt hvis klasse arver B
3) variabel a lagrer en referanse til et objekt som implementerer grensesnitt B
Ellers vil instansen av operatøren returnere false .
"Skjønner det. Så hvorfor er dette nødvendig, onkel Rishi?"
"Ellie skal fortelle deg om det i dag. Dette er en veldig hyggelig operatør. Det vil du være overbevist om i dag."
GO TO FULL VERSION