Den här artikeln hjälper dig att lära dig metoden för att få typen av ett objekt i Java.
Hur får man typ av objekt i Java?
För att få typen av fördefinierat eller användardefinierat klassobjekt i Java kan du använda:
- getClass() metod
- instans av operatör
Vi kommer nu att kolla in var och en av de nämnda metoderna en efter en!
Metod 1: Hämta typ av fördefinierat klassobjekt med hjälp av metoden getClass().
I Java har vi fördefinierade klasser som omslagsklasser som String, Double, Integer och många fler. Ibland behöver vi verifiera objekttypen medan vi använder fördefinierade klasser. För detta ändamål erbjuder Java en ' getClass() ' metod som hör till ' Objekt ' klass.
Syntax
Syntaxen för ' getClass() ” metod ges enligt följande:
x. getClass ( )
Här, ' getClass() ”-metoden returnerar klassen för den angivna ” x ” objekt.
Exempel
I det här exemplet kommer vi att skapa ett objekt av typen String med namnet ' x ” som innehåller följande värde:
Sträng x = 'Hallå' ;
Därefter kommer vi att skriva ut ett uttalande med hjälp av ' System.out.println() ' metod:
Systemet . ut . println ( 'x tillhör?' ) ;Slutligen kommer vi att få typen av objekt ' x ' genom att ringa ' getClass() ' metod:
Systemet . ut . skriva ut ( x. getClass ( ) ) ;Utdata visar att den skapade variabeln tillhör klassen Java String:
Låt oss se en annan metod för att få objekttypen med operatorn 'instanceof'.
Metod 2: Hämta typ av fördefinierat klassobjekt med hjälp av 'instanceof' Operator
Du kan också använda ' instans av ” för att kontrollera objekttypen i ett Java-program. Denna operator returnerar ett booleskt värde som indikerar om objektet är en instans av den specifika klassen eller inte.
Syntax
Syntaxen för ' instans av ' är som följande:
Här, ' x ' är ett objekt och ' Heltal ” är den fördefinierade Java-omslagsklassen. den ' instans av ”-operatorn kontrollerar om objektet tillhör den nämnda klassen eller inte och returnerar ett booleskt värde.
Exempel
I det här exemplet har vi ett objekt ' x ” av heltalsklassen med ” 5 ' som dess värde:
Därefter kommer vi att skriva ut ett uttalande med hjälp av ' System.out.println() ' metod:
Systemet . ut . skriva ut ( 'x är en instans av heltalsklassen?' ) ;Nu kommer vi att kontrollera om objektet är en instans av en heltalsklass eller inte:
Systemet . ut . skriva ut ( x instans av Heltal ) ;
Utgången som visas ' Sann 'som objektet' x ” är en instans av heltalsklassen:
Vid det här laget kanske du undrar över hur du skaffar typen av användardefinierat klassobjekt. Nedanstående avsnitt hjälper dig i detta avseende.
Metod 3: Hämta typ av användardefinierat klassobjekt med hjälp av metoden getClass().
Du kan också få typen av det användardefinierade klassobjektet med hjälp av ' getClass() 'metoden. I ett sådant scenario kommer vi att jämföra objektet med klassnamnet med hjälp av ' == ” jämförelseoperatör.
Syntax
För det angivna ändamålet, syntaxen för ' getClass() ” metod ges som:
Här, ' getClass() metoden kallas av ' min klassObj ' föremål för ' Min klass ” och jämför sedan med namnet med jämförelseoperatorn ” == ”.
Exempel
I det här exemplet har vi tre klasser som heter ' Min klass ”, “ Min nya klass ', och ' Exempel ”, där MyClass fungerar som en överordnad klass till MynewClass:
den ' Min nya klass ” är en barnklass eftersom den förlängs från ” Min klass ”:
klass Min nya klass sträcker sig Min klass { }I main()-metoden för klassen ' Exempel ', kommer vi att deklarera och instansiera ett objekt av den överordnade klassen ' Min klass ”. Kontrollera sedan om det skapade objektet tillhör vilken klass; förälder eller barn? För att göra det kommer vi att kalla ' getClass() ”-metoden med det skapade objektet och jämför det resulterande värdet med överordnade och underordnade klassnamn med if-else-if-villkor:
offentlig klass Exempel {offentlig statisk tomhet huvud ( Sträng [ ] args ) {
MyClass myclassObj = ny Min klass ( ) ;
om ( min klassObj. getClass ( ) == Min klass. klass ) {
Systemet . ut . println ( 'Objektet 'myclassObj' är en typ av 'MyClass'' ) ;
} annan om ( min klassObj. getClass ( ) == Min nya klass. klass ) {
Systemet . ut . println ( 'Objektet 'myclassObj' är en typ av 'MynewClass'' ) ;
}
}
}
Utdata indikerar att objektet ' min klassObj ' tillhör föräldraklassen som heter ' Min klass ”:
Gå nu mot nästa avsnitt!
Metod 4: Hämta typ av användardefinierat klassobjekt med hjälp av 'instanceof' Operator
I likhet med fördefinierade klasser, för användardefinierade klasser, kan du också få typen av objekt genom att använda ' instans av ' operatör.
Syntax
Syntaxen anges nedan:
Här, ' instans av '-operatören kontrollerar om ' min klassObj ' är ett exempel på ' Min klass ' eller inte.
Exempel
Vi kommer nu att använda samma klasser som vi har skapat i det tidigare nämnda exemplet. Den enda skillnaden är att vi kommer att använda ' instans av ”-operator för att verifiera om den skapade objektinstansen tillhör den överordnade eller underordnade klassen:
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
MyClass myclassObj = ny Min klass ( ) ;
om ( min klassObj instans av Min klass ) {
Systemet . ut . println ( 'Objektet 'myclassObj' är en instans av 'MyClass'' ) ;
} annan om ( min klassObj instans av Min nya klass ) {
Systemet . ut . println ( 'Objektet 'myclassObj' är en instans av 'MynewClass'' ) ;
}
}
}
Den givna utdata visar att ' instans av ”-operatorn validerade typen av objekt som ” Min klass ”:
Vi har sammanställt alla metoder relaterade till att få objekttyp i Java.
Slutsats
För att få en typ av objekt i Java kan du använda ' getClass() ' metoden eller ' instans av ' operatör. Dessa metoder kan användas för att kontrollera objekttyper för både fördefinierade och användardefinierade klasser. Metoden getClass() returnerar klassnamnet medan operatorn 'instanceof' returnerar ett booleskt värde, där ' Sann ” indikerar att objektet tillhör den angivna klassen; annars returnerar den ' falsk ”. Den här artikeln gav alla metoder för att få objekttypen i Java.