CodeGym /Cursuri /Java Core /instanță de operator

instanță de operator

Java Core
Nivel, Lecţie
Disponibil

"Bună ziua, Amigo! Ați întâlnit deja operatorul instanceof . Astăzi am să vă spun cum și unde poate fi folosit. instanceof este un operator foarte simplu și eficient."

— Sună ca o reclamă!

„Este într-adevăr foarte simplu. Este folosit astfel: „obiect” instanță de „clasă” ”.

Verifică dacă un obiect este o instanță a unei anumite clase. Este mai ușor decât să explic. Uită-te la acest exemplu:

Cod Descriere
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt va fi adevărat . Obiectul la care face referire variabila o este o instanță a clasei Integer .
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt va fi false . Obiectul la care face referire variabila o nu este o instanță a clasei Integer . Este un obiect String .
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
isFIS va fi adevărat . Obiectul la care face referire variabila o este o instanță a clasei FileInputStream .

"Da, asta este foarte simplu."

„Acest operator ține cont și de moștenire. Verificați.”

Cod Descriere
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
Aici avem trei declarații de clasă: Animal, Pisică și Tigru. Pisica moștenește animalul. Și Tiger moștenește Cat.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  va fi  adevărat .
isTiger  va fi  adevărat .
isAnimal  va fi  adevărat .
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  va fi fals .
isTiger  va fi  fals .
isAnimal  va fi  adevărat .

Și chiar și interfețe:

Cod Descriere
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
Creați două clase: Cat, TomCat și interfața Moveable
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  va fi  adevărat .
isMoveable  va fi  adevărat .
isTom  va fi  adevărat .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  va fi  adevărat .
isMoveable  va fi  false .
isTom  va fi  fals .

Operatorul instanceof arată astfel: o instanță B .

Cu alte cuvinte, operatorul instanceof va returna true dacă:

1) variabila a stochează o referință la un obiect de tip B

2)  variabila a stochează o referință la un obiect a cărui clasă moștenește  B

3)  variabila a stochează o referință la un obiect care implementează interfața  B

În caz contrar, operatorul instanceof va returna false .

"Am înțeles. Deci de ce este necesar, unchiule Rishi?"

„Ellie o să-ți spună despre asta astăzi. Acesta este un operator cu adevărat drăguț. Vei fi convins de asta astăzi.”

4
Sarcină
Java Core, nivel, lecţie
Blocat
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and assimilate some material. What's more, you combat laziness.
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION