Denne artikel hjælper dig med at lære metoden til at få typen af et objekt i Java.
Hvordan får man en type objekt i Java?
For at få typen af foruddefineret eller brugerdefineret klasseobjekt i Java kan du bruge:
- getClass() metode
- forekomst af operatør
Vi vil nu tjekke hver af de nævnte metoder en efter en!
Metode 1: Hent type prædefineret klasseobjekt ved hjælp af getClass()-metoden
I Java har vi foruddefinerede klasser som wrapper-klasser såsom String, Double, Integer og mange flere. Nogle gange er vi nødt til at verificere objekttypen, mens vi bruger foruddefinerede klasser. Til dette formål tilbyder Java en ' getClass() ' metode, der hører til ' Objekt ' klasse.
Syntaks
Syntaksen for ' getClass() ” metode er givet som følger:
x. getClass ( )
Her er ' getClass() ”-metoden returnerer klassen for den angivne ” x ” objekt.
Eksempel
I dette eksempel vil vi oprette et objekt af typen String med navnet ' x ' indeholdende følgende værdi:
Snor x = 'Hej' ;
Dernæst vil vi udskrive en erklæring ved hjælp af ' System.out.println() ” metode:
System . ud . println ( 'x tilhører?' ) ;Til sidst vil vi få typen af objektet ' x ' ved at ringe til ' getClass() ” metode:
System . ud . Print ( x. getClass ( ) ) ;Outputtet viser, at den oprettede variabel tilhører Java String-klassen:
Lad os se en anden metode til at få objekttypen ved hjælp af operatoren 'instanceof'.
Metode 2: Hent type prædefineret klasseobjekt ved hjælp af 'instanceof'-operator
Du kan også bruge ' forekomst af ” operatør for at kontrollere objekttypen i et Java-program. Denne operator returnerer en boolesk værdi, som angiver, om objektet er en forekomst af den bestemte klasse eller ej.
Syntaks
Syntaksen for ' forekomst af ' er som følgende:
Her, ' x ' er et objekt og ' Heltal ” er den foruddefinerede Java-indpakningsklasse. Det ' forekomst af ” operatør tjekker om objektet tilhører den nævnte klasse eller ej og returnerer en boolesk værdi.
Eksempel
I dette eksempel har vi et objekt ' x ' af heltalsklassen med ' 5 ' som dens værdi:
Dernæst vil vi udskrive en erklæring ved hjælp af ' System.out.println() ” metode:
System . ud . Print ( 'x er en forekomst af heltalsklassen?' ) ;Nu vil vi kontrollere, om objektet er en forekomst af en heltalsklasse eller ej:
System . ud . Print ( x forekomst af Heltal ) ;
Udgangen vises ' rigtigt 'som objektet' x ' er en forekomst af klassen heltal:
På dette tidspunkt undrer du dig måske over, hvordan du får typen af brugerdefineret klasseobjekt. Nedenstående afsnit vil hjælpe dig i denne henseende.
Metode 3: Hent type brugerdefineret klasseobjekt ved hjælp af getClass()-metoden
Du kan også få typen af det brugerdefinerede klasseobjekt ved hjælp af ' getClass() ” metode. I et sådant scenarie vil vi sammenligne objektet med klassenavnet ved at bruge ' == ” sammenligningsoperatør.
Syntaks
Til det angivne formål er syntaksen for ' getClass() ” metode er givet som:
Her er ' getClass() ' metode kaldes af ' min klasseObj ' objekt for ' Min klasse ' og derefter sammenlignet med navnet ved hjælp af sammenligningsoperatoren ' == ”.
Eksempel
I dette eksempel har vi tre klasser med navnet ' Min klasse ', ' Min nye klasse ', og ' Eksempel ”, hvor MyClass fungerer som forældreklasse til MynewClass:
Det ' Min nye klasse ” er en børneklasse, da den er forlænget fra ” Min klasse ”:
klasse Min nye klasse strækker sig Min klasse { }I main() metoden i klassen ' Eksempel ', vil vi erklære og instansiere et objekt af den overordnede klasse ' Min klasse ”. Kontroller derefter, om det oprettede objekt tilhører hvilken klasse; forælder eller barn? For at gøre det vil vi kalde ' getClass() ” metode med det oprettede objekt og sammenlign den resulterende værdi med overordnede og underordnede klassenavne ved hjælp af if-else-if-betingelser:
offentlig klasse Eksempel {offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
MyClass minklasseObj = ny Min klasse ( ) ;
hvis ( min klasseObj. getClass ( ) == Min klasse. klasse ) {
System . ud . println ( 'Objektet 'myclassObj' er en type af 'MyClass'' ) ;
} andet hvis ( min klasseObj. getClass ( ) == Min nye klasse. klasse ) {
System . ud . println ( 'Objektet 'myclassObj' er en type af 'MynewClass'' ) ;
}
}
}
Udgangen angiver, at objektet ' min klasseObj ' hører til forældreklassen ved navn ' Min klasse ”:
Gå nu mod næste afsnit!
Metode 4: Hent type brugerdefineret klasseobjekt ved hjælp af 'instanceof'-operatør
I lighed med foruddefinerede klasser, for brugerdefinerede klasser, kan du også få typen af objekt ved at bruge ' forekomst af ” operatør.
Syntaks
Syntaksen er angivet nedenfor:
Her er ' forekomst af ' operatør vil kontrollere, om ' min klasseObj ' er et eksempel på ' Min klasse ' eller ikke.
Eksempel
Vi vil nu bruge de samme klasser, som vi har oprettet i det tidligere nævnte eksempel. Den eneste forskel er, at vi vil bruge ' forekomst af ”-operator for at bekræfte, om den oprettede objektinstans tilhører den overordnede eller underordnede klasse:
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
MyClass minklasseObj = ny Min klasse ( ) ;
hvis ( min klasseObj forekomst af Min klasse ) {
System . ud . println ( 'Objektet 'myclassObj' er en forekomst af 'MyClass'' ) ;
} andet hvis ( min klasseObj forekomst af Min nye klasse ) {
System . ud . println ( 'Objektet 'myclassObj' er en forekomst af 'MynewClass'' ) ;
}
}
}
Det givne output viser, at ' forekomst af ' operatør validerede objektets type som ' Min klasse ”:
Vi har samlet alle metoder relateret til at få objekttype i Java.
Konklusion
For at få en type objekt i Java kan du bruge ' getClass() '-metoden eller ' forekomst af ” operatør. Disse metoder kan bruges til at kontrollere objekttyper for både foruddefinerede og brugerdefinerede klasser. GetClass()-metoden returnerer klassenavnet, mens operatoren 'instanceof' returnerer en boolesk værdi, hvor ' rigtigt ” angiver, at objektet tilhører den angivne klasse; ellers vender det tilbage ' falsk ”. Denne artikel indeholder alle metoderne til at få objekttypen i Java.