"Hallo, Amigo! Je hebt de instanceof- operator al ontmoet. Vandaag ga ik je vertellen hoe en waar je hem kunt gebruiken. instanceof is een heel eenvoudige en efficiënte operator."
"Dat klinkt als een advertentie!"
"Het is echt heel eenvoudig. Het wordt zo gebruikt: «object» instantie van «klasse» ."
Het controleert of een object een instantie is van een bepaalde klasse. Het is makkelijker dan het uit te leggen. Kijk naar dit voorbeeld:
Code | Beschrijving |
---|---|
|
isInt zal waar zijn . Het object waarnaar wordt verwezen door de variabele o is een instantie van de klasse Integer . |
|
isInt zal onwaar zijn . Het object waarnaar wordt verwezen door de variabele o is geen instantie van de klasse Integer . Het is een String- object. |
|
isFIS zal waar zijn . Het object waarnaar wordt verwezen door de variabele o is een instantie van de klasse FileInputStream . |
"Ja, dat is heel simpel."
"Deze operator is ook verantwoordelijk voor overerving. Bekijk het eens."
Code | Beschrijving |
---|---|
|
Hier hebben we drie klassendeclaraties: Dier, Kat en Tijger. Kat erft dier. En Tiger erft Cat. |
|
isCat zal waar zijn . isTiger zal waar zijn . isAnimal zal waar zijn . |
|
isCat zal onwaar zijn . isTiger zal vals zijn . isAnimal zal waar zijn . |
En zelfs interfaces:
Code | Beschrijving |
---|---|
|
Maak twee klassen: Cat, TomCat en de Moveable-interface |
|
isCat zal waar zijn . isMoveable zal waar zijn . isTom zal waar zijn . |
|
isCat zal waar zijn . isMoveable zal false zijn . isTom zal onwaar zijn . |
De instanceof-operator ziet er als volgt uit: a instanceof B .
Met andere woorden, de operator instanceof retourneert true als:
1) variabele a slaat een verwijzing op naar een object van type B
2) variabele a slaat een verwijzing op naar een object waarvan de klasse B erft
3) variabele a slaat een verwijzing op naar een object dat interface B implementeert
Anders retourneert de instanceof- operator false .
'Begrepen. Dus waarom is dit nodig, oom Rishi?'
'Daar gaat Ellie je vandaag over vertellen. Dit is een heel aardige telefoniste. Daar zul je vandaag van overtuigd zijn.'
GO TO FULL VERSION