"हॅलो, अमिगो! तुम्ही यापूर्वीच instanceof operator ला भेटला आहात. आज मी तुम्हाला ते कसे आणि कुठे वापरता येईल ते सांगणार आहे. instanceof हा एक अतिशय सोपा आणि कार्यक्षम ऑपरेटर आहे."

"ते जाहिरातीसारखे वाटते!"

"हे खरोखर खूप सोपे आहे. हे असे वापरले जाते: «वस्तू» उदाहरण «वर्ग» ."

ऑब्जेक्ट एखाद्या विशिष्ट वर्गाचे उदाहरण आहे की नाही हे तपासते. हे समजावून सांगण्यापेक्षा सोपे आहे. हे उदाहरण पहा:

कोड वर्णन
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt खरे असेल . ओ व्हेरिएबलद्वारे संदर्भित ऑब्जेक्ट पूर्णांक वर्गाचे उदाहरण आहे.
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt खोटे असेल . ओ व्हेरिएबलद्वारे संदर्भित ऑब्जेक्ट पूर्णांक वर्गाचे उदाहरण नाही. हे स्ट्रिंग ऑब्जेक्ट आहे.
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
isFIS खरे असेल . व्हेरिएबल o द्वारे संदर्भित ऑब्जेक्ट हे FileInputStream वर्गाचे उदाहरण आहे.

"हो, ते खूप सोपे आहे."

"हा ऑपरेटर देखील वारसा म्हणून खाते आहे. ते तपासा."

कोड वर्णन
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
येथे आमच्याकडे तीन वर्ग घोषणा आहेत: प्राणी, मांजर आणि वाघ. मांजरीला प्राण्यांचा वारसा मिळतो. आणि वाघाला मांजराचा वारसा मिळाला.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat खरे  असेल  .
isTiger खरे  असेल  .
आहे .  _  _
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat खोटे  असेल .
isTiger खोटा  असेल  .
आहे .  _  _

आणि अगदी इंटरफेस:

कोड वर्णन
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
दोन वर्ग तयार करा: मांजर, टॉमकॅट आणि हलवता येण्याजोगा इंटरफेस
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat खरे  असेल  .
isMoveable खरे  असेल  .
isTom खरे  असेल  .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat खरे  असेल  .
isMoveable खोटे  असेल  .
isTom खोटे  असेल  .

ऑपरेटरचे उदाहरण असे दिसते: B चे उदाहरण .

दुसऱ्या शब्दांत, ऑपरेटरचे उदाहरण खरे असेल जर:

1) व्हेरिएबल ए प्रकार B च्या ऑब्जेक्टचा संदर्भ संग्रहित करते

2)  व्हेरिएबल ऑब्जेक्टचा संदर्भ संग्रहित करते ज्याचा वर्ग  B वारसा घेतो

3)  व्हेरिएबल ऑब्जेक्टचा संदर्भ संग्रहित करते जे इंटरफेस  B लागू करते

अन्यथा, ऑपरेटरचे उदाहरण खोटे परत येईल .

"समजले. मग याची काय गरज आहे काका ऋषी?"

"एली आज तुम्हाला त्याबद्दल सांगणार आहे. हा खरोखर छान ऑपरेटर आहे. आज तुम्हाला याची खात्री होईल."