Ez a cikk segít elsajátítani egy objektum típusának beszerzési módszerét a Java nyelven.
Hogyan szerezhetem be az objektum típusát Java-ban?
Az előre definiált vagy a felhasználó által definiált osztályobjektum típusának lekéréséhez Javaban a következőket használhatja:
- getClass() módszer
- Például az operátor
Most egyenként megvizsgáljuk az említett módszereket!
1. módszer: Előre meghatározott osztályobjektum típusának lekérése a getClass() metódus használatával
A Java-ban előre definiált osztályaink vannak, például burkoló osztályok, például String, Double, Integer és még sok más. Előre definiált osztályok használata közben néha ellenőriznünk kell az objektum típusát. Erre a célra a Java egy „ getClass() ' módszer, amely a ' Tárgy ' osztály.
Szintaxis
A „ getClass() ” módszer a következő:
x. getClass ( )
Itt a „ getClass() ' metódus a megadott ' osztályt adja vissza x ' tárgy.
Példa
Ebben a példában létrehozunk egy String típusú objektumot ' x ', amely a következő értéket tartalmazza:
Húr x = 'Szia' ;
Ezután egy nyilatkozatot nyomtatunk a „ System.out.println() ” módszer:
Rendszer . ki . println ( 'x tartozik?' ) ;Végül megkapjuk az objektum típusát ' x ' a ' getClass() ” módszer:
Rendszer . ki . nyomtatás ( x. getClass ( ) ) ;A kimenet azt mutatja, hogy a létrehozott változó a Java String osztályba tartozik:
Lássunk egy másik módszert az objektumtípus lekérésére az „instanceof” operátor használatával.
2. módszer: Előre meghatározott osztályobjektum típusának lekérése az „instanceof” operátor használatával
Használhatja a „ Például az ” operátort az objektumtípus ellenőrzéséhez egy Java programban. Ez az operátor egy logikai értéket ad vissza, amely jelzi, hogy az objektum az adott osztály példánya-e vagy sem.
Szintaxis
A „ Például az ' az alábbiak:
Itt, ' x ' egy tárgy és ' Egész szám ” az előre meghatározott Java burkoló osztály. Az ' Például az ” operátor ellenőrzi, hogy az objektum az említett osztályba tartozik-e vagy sem, és logikai értéket ad vissza.
Példa
Ebben a példában van egy objektum ' x ' az Integer osztályból, amelynek ' 5 ” értékként:
Ezután egy nyilatkozatot nyomtatunk a „ System.out.println() ” módszer:
Rendszer . ki . nyomtatás ( 'x az Integer osztály példánya?' ) ;Most ellenőrizzük, hogy az objektum egy Integer osztály példánya-e vagy sem:
Rendszer . ki . nyomtatás ( x Például az Egész szám ) ;
A megjelenített kimenet igaz 'mint a tárgy' x ” az Integer osztály egy példánya:
Ezen a ponton felmerülhet a kérdés, hogyan szerezheti be a felhasználó által definiált osztályobjektum típusát. Az alábbi rész ebben nyújt segítséget.
3. módszer: Felhasználó által definiált osztályobjektum típusának lekérése a getClass() metódus használatával
A felhasználó által definiált osztályobjektum típusát a „ getClass() ” módszerrel. Ebben a forgatókönyvben összehasonlítjuk az objektumot az osztálynévvel a „ == ” összehasonlító operátor.
Szintaxis
A megadott célra a „ getClass() ” módszer a következő:
Itt a „ getClass() ' módszert a ' osztályomObj ' tárgya a ' Az osztályom ', majd összehasonlította a névvel az összehasonlító operátor segítségével == ”.
Példa
Ebben a példában három osztályunk van ' Az osztályom ”, „ MyNewClass ”, és „ Példa ”, ahol a MyClass a MynewClass szülőosztályaként működik:
Az ' MyNewClass 'gyerekosztály, mivel kibővítve '' Az osztályom ”:
osztály MyNewClass kiterjed Az osztályom { }A ' osztály main() metódusában Példa ', deklaráljuk és példányosítjuk a ' szülőosztály' objektumát Az osztályom ”. Ezután ellenőrizze, hogy a létrehozott objektum melyik osztályba tartozik-e; szülő vagy gyerek? Ennek érdekében a „ getClass() ” metódussal a létrehozott objektummal, és hasonlítsa össze az eredményül kapott értéket a szülő- és gyermekosztálynevekkel if-else-if feltételekkel:
nyilvános osztály Példa {nyilvános statikus üres fő- ( Húr [ ] args ) {
MyClass myclassObj = új Az osztályom ( ) ;
ha ( osztályomObj. getClass ( ) == Az osztályom. osztály ) {
Rendszer . ki . println ( 'A 'myclassObj' objektum a 'MyClass' egy típusa' ) ;
} más ha ( osztályomObj. getClass ( ) == MyNewClass. osztály ) {
Rendszer . ki . println ( 'A 'myclassObj' objektum a 'MynewClass' típusa' ) ;
}
}
}
A kimenet azt jelzi, hogy az objektum ' osztályomObj '' nevű szülőosztályhoz tartozik Az osztályom ”:
Most pedig irány a következő rész!
4. módszer: A felhasználó által definiált osztályobjektum típusának lekérése az „instanceof” operátor használatával
Az előre definiált osztályokhoz hasonlóan a felhasználó által definiált osztályokhoz az objektum típusát is megkaphatja a ' Például az ' operátor.
Szintaxis
A szintaxis az alábbiakban található:
Itt a „ Például az ' operátor ellenőrzi, hogy a ' osztályomObj ' egy példánya a ' Az osztályom ' vagy nem.
Példa
Most ugyanazokat az osztályokat fogjuk használni, amelyeket a korábban említett példában hoztunk létre. Az egyetlen különbség az, hogy a „ Például az ” operátor annak ellenőrzésére, hogy a létrehozott objektumpéldány a szülő- vagy gyermekosztályhoz tartozik-e:
nyilvános statikus üres fő- ( Húr [ ] args ) {
MyClass myclassObj = új Az osztályom ( ) ;
ha ( osztályomObj Például az Az osztályom ) {
Rendszer . ki . println ( 'A 'myclassObj' objektum a 'MyClass' példánya' ) ;
} más ha ( osztályomObj Például az MyNewClass ) {
Rendszer . ki . println ( 'A 'myclassObj' objektum a 'MynewClass' példánya' ) ;
}
}
}
Az adott kimenet azt mutatja, hogy a „ Például az ' operátor az objektum típusát a ' Az osztályom ”:
Összeállítottuk az objektumtípusok Java-ban való lekéréséhez kapcsolódó összes metódust.
Következtetés
Egy objektumtípus Java nyelven való lekéréséhez használhatja a „ getClass() ' módszer vagy a ' Például az ' operátor. Ezek a metódusok használhatók az objektumtípusok ellenőrzésére előre definiált és felhasználó által definiált osztályokhoz egyaránt. A getClass() metódus az osztálynevet, míg az „instanceof” operátor logikai értéket ad vissza, ahol „ igaz ” azt jelzi, hogy az objektum a megadott osztályba tartozik; különben visszaadja ' hamis ”. Ez a cikk minden módszert megad az objektumtípus Java nyelven történő lekéréséhez.