InstanceOf In är en operatör som används för att kontrollera typen av ett objekt. Med andra ord testas om objektet är en förekomst av en viss klass eller ett gränssnitt. Resultatet av en sådan operation är antingen Sann eller Falsk
Följande tips kommer att behandlas i den här artikeln,
- instans av
- Använda en variabel med nollvärde
- Ett förälderobjekt är inte en förekomst av barn
- Nedkastning
- Förstå instans av
Fortsätter med den här artikeln på instanceOf i Java.
Denna operatör är också känd som typ jämförelseoperatör , eftersom förekomsten jämförs med typen.
Syntax:
(objekt) instans av (typ)
Ett exempel på instansen avOf kan ses nedan:
public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}
Produktion
Sann
I exemplet är utgången som returneras till användaren Sann , d.v.s. “ s ”Är en instans av klass Main.
Exempel
Ett objekt av typunderklass är också en typ av föräldraklass.
I följande exempel utökar Rock musik. Objektet för Rock kan hänvisas antingen till Rock eller Music-klass.
klass Musik {} klass Rock utvidgar musik {// Rock ärver Musik offentlig statisk ogiltig huvud (String args []) {Rock r = new Rock () System.out.println (r instans av Rock)}}
Produktion
Sann
Fortsätter med den här artikeln på instanceOf i Java.
Använda en variabel med nollvärde
klass Musik {public static void main (String args []) {Music m = null System.out.println (m instance of Music) // false}}
I exemplet ovan har den definierade variabeln ett nollvärde.
Således är den returnerade utgången falsk.
Produktion
falsk
Följande punkt måste noteras när du använder instansen operatorOf:
Fortsätter med den här artikeln på instanceOf i Java.
Ett överordnat objekt är inte en instans av barn
klass Förälder {} klass Barn utvidgar Förälder {} klass Huvud {offentlig statisk tomrum huvud (String [] args) {Förälder p = ny förälder () om (p instans av barn) System.out.println ('p är en förekomst av barn ') annars System.out.println (' p är inte en instans av barn ')}}
Produktion
P är inte en instans av barn
Fortsätter med den här artikeln på instanceOf i Java.
Downc ett stick
När ett objekt av föräldraklassen refereras till av en underklass kallas metoden downcasting.
skillnader mellan hashmap och hashtable
När du utför downcasting direkt returnerar kompilatorn ett kompileringsfel.
Rock r = ny musik () // kompileringsfel
När du använder typecasting kastas ClassCastException vid körning.
Rock r = (Rock) ny musik () // kompilering lyckad men ClassCastException kastas
Den enda metoden med vilken nedkastning är möjlig är att använda instansen av operatören.
klass Musik {} klass Rock utvidgar musik {statisk ogiltig metod (Musik m) {om (m instans av Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting lyckades')}} offentliga statiska tomrum main (String [] args) {Music m = new Rock () Rock.method (m)}}
Produktion
Nedkastning lyckades
Fortsätter med den här artikeln på instanceOf i Java.
Förstå instans av:
Exemplet nedan kan förstås mer exakt med exempelOf-metoden:
I det här exemplet används ett gränssnitt:
gränssnitt Instans {} klass S implementerar Instans {public void s () {System.out.println ('First method')}} class T implementerar Instance {public void t () {System.out.println ('Second method') }} class Invoke {void invoke (Instance i) {// upcasting if (i instanceof S) {S s = (S) i // Downcasting ss ()} if (i instanceof T) {T t = (T) i // Nedkastning tt ()}}} klass Huvud {offentlig statisk ogiltig huvud (String args []) {Instans i = ny T () Anropa v = ny anrop () v.invoke (i)}}
Resultatet av exemplet är som följer:
Andra metoden
Detta exempel visar detta koncept på ett exakt sätt. Här är föräldraklassen Instrument, och de två barnklasserna är gitarr och piano:
klass Instrument {} klass Gitarr förlänger Instrument {} klass Piano förlänger Instrument {} klass Huvud {offentlig statisk tomrum huvud (String [] args) {Instrument i = nytt instrument () Gitarr g = ny gitarr () Piano p = nytt piano ( ) System.out.println (g instans av instrument) System.out.println (p instans av Instrument) System.out.println (i instans av gitarr) System.out.println (i instans av piano) i = g System.out.println ( i instans av gitarr) System.out.println (i instans av piano) i = p System.out.println (i instans av gitarr) System.out.println (i instans av piano)}}
Utgången är som följer:
Sann
Sann
falsk
falsk
Sann
falsk
falsk
Sann
Så här hittas typen av ett objekt effektivt. Instansen avOf visar sig vara ganska användbar, med tanke på att metoderna körs på lämpligt sätt.
Således har vi kommit till ett slut på den här artikeln om 'instanceOf in Java'. Om du vill lära dig mer, kolla in Java Training av Edureka, ett pålitligt online-lärande företag. är utformad för att träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.