Овај чланак ће вам помоћи да научите метод за добијање типа објекта у Јави.
Како добити тип објекта у Јави?
Да бисте добили тип унапред дефинисаног или кориснички дефинисаног објекта класе у Јави, можете користити:
- гетЦласс() методом
- инстанцеоф оператер
Сада ћемо проверити сваки од наведених метода један по један!
Метод 1: Добијте тип унапред дефинисаног објекта класе помоћу методе гетЦласс().
У Јави имамо унапред дефинисане класе као што су класе омотача као што су Стринг, Доубле, Интегер и многе друге. Понекад морамо да проверимо тип објекта док користимо унапред дефинисане класе. У ту сврху, Јава нуди „ гетЦласс() ” метод који припада „ Објекат ' класа.
Синтакса
Синтакса „ гетЦласс() ” метода је дата на следећи начин:
Икс. гетЦласс ( )
Овде, „ гетЦласс() ” метод ће вратити класу наведеног „ Икс ” објекат.
Пример
У овом примеру, креираћемо објекат типа Стринг под називом „ Икс ” који садржи следећу вредност:
Низ Икс = 'Здраво' ;
Затим ћемо одштампати изјаву користећи „ Систем.оут.принтлн() ” метод:
Систем . оут . принтлн ( 'к припада?' ) ;На крају, добићемо тип објекта “ Икс ” позивањем „ гетЦласс() ” метод:
Систем . оут . принт ( Икс. гетЦласс ( ) ) ;Излаз показује да креирана променљива припада класи Јава Стринг:
Хајде да видимо још један метод за добијање типа објекта помоћу оператора „инстанцеоф“.
Метод 2: Добијте тип унапред дефинисаног објекта класе помоћу оператора „инстанцеоф“.
Такође можете користити „ инстанцеоф ” оператор за проверу типа објекта у Јава програму. Овај оператор враћа логичку вредност која показује да ли је објекат инстанца одређене класе или не.
Синтакса
Синтакса „ инстанцеоф ' је као што следи:
Овде, „ Икс ” је објекат и „ Интегер ” је унапред дефинисана Јава класа омотача. „ инстанцеоф ” оператор проверава да ли објекат припада поменутој класи или не и враћа логичку вредност.
Пример
У овом примеру имамо објекат „ Икс ” класе Интегер која има “ 5 ” као своју вредност:
Затим ћемо одштампати изјаву користећи „ Систем.оут.принтлн() ” метод:
Систем . оут . принт ( 'к је инстанца класе Интегер?' ) ;Сада ћемо проверити да ли је објекат инстанца класе Интегер или не:
Систем . оут . принт ( Икс инстанцеоф Интегер ) ;
Излаз је приказан „ истинито “ као објекат “ Икс ” је инстанца класе Интегер:
У овом тренутку, можда се питате како да добијете тип кориснички дефинисаног објекта класе. Одељак у наставку ће вам помоћи у овом погледу.
Метод 3: Добијте тип кориснички дефинисаног објекта класе помоћу методе гетЦласс().
Такође можете добити тип кориснички дефинисаног објекта класе уз помоћ „ гетЦласс() ” метод. У таквом сценарију, упоредићемо објекат са именом класе користећи „ == ” оператор поређења.
Синтакса
За наведену сврху, синтакса „ гетЦласс() ” метода је дата као:
Овде, „ гетЦласс() ” метод се зове „ мицлассОбј ” објекат од “ Мој разред “, а затим упореди са именом користећи оператор поређења “ == ”.
Пример
У овом примеру имамо три класе под називом „ Мој разред ”, “ МиневЦласс ', и ' Пример ”, где МиЦласс делује као родитељска класа МиневЦласс:
„ МиневЦласс ” је дечја класа пошто је проширена од „ Мој разред ”:
класа МиневЦласс протеже Мој разред { }У методи маин() класе “ Пример ”, декларисаћемо и инстанцирати објекат родитељске класе “ Мој разред ”. Затим проверите да ли креирани објекат припада којој класи; родитељ или дете? Да бисмо то урадили, позваћемо „ гетЦласс() ” са креираним објектом и упоредите резултујућу вредност са именима надређених и подређених класа користећи услове иф-елсе-иф:
јавности класа Пример {јавности статичне празнина главни ( Низ [ ] аргс ) {
МиЦласс мицлассОбј = Нова Мој разред ( ) ;
ако ( мицлассОбј. гетЦласс ( ) == Мој разред. класа ) {
Систем . оут . принтлн ( „Објекат 'мицлассОбј' је тип 'МиЦласс'' ) ;
} друго ако ( мицлассОбј. гетЦласс ( ) == МиневЦласс. класа ) {
Систем . оут . принтлн ( „Објекат 'мицлассОбј' је тип 'МиневЦласс'' ) ;
}
}
}
Излаз показује да је објекат “ мицлассОбј ” припада родитељској класи под називом “ Мој разред ”:
Сада идите ка следећем делу!
Метод 4: Добијте тип кориснички дефинисаног објекта класе користећи „инстанцеоф“ оператор
Слично унапред дефинисаним класама, за класе које дефинише корисник, такође можете добити тип објекта користећи „ инстанцеоф ” оператор.
Синтакса
Синтакса је дата у наставку:
Овде, „ инстанцеоф ” оператор ће проверити да ли је „ мицлассОбј ” је пример „ Мој разред ' или не.
Пример
Сада ћемо користити исте класе које смо креирали у претходно поменутом примеру. Једина разлика је у томе што ћемо користити „ инстанцеоф ” оператор да провери да ли креирана инстанца објекта припада родитељској или подређеној класи:
јавности статичне празнина главни ( Низ [ ] аргс ) {
МиЦласс мицлассОбј = Нова Мој разред ( ) ;
ако ( мицлассОбј инстанцеоф Мој разред ) {
Систем . оут . принтлн ( „Објекат 'мицлассОбј' је инстанца 'МиЦласс'' ) ;
} друго ако ( мицлассОбј инстанцеоф МиневЦласс ) {
Систем . оут . принтлн ( „Објекат 'мицлассОбј' је инстанца 'МиневЦласс'' ) ;
}
}
}
Дати излаз показује да је „ инстанцеоф ” оператор је потврдио тип објекта као „ Мој разред ”:
Саставили смо све методе везане за добијање типа објекта у Јави.
Закључак
Да бисте добили тип објекта у Јави, можете користити „ гетЦласс() ” метод или „ инстанцеоф ” оператор. Ове методе се могу користити за проверу типова објеката и за унапред дефинисане и за кориснички дефинисане класе. Метод гетЦласс() враћа име класе док оператор „инстанцеоф“ враћа логичку вредност, где је „ истинито ” означава да објекат припада тој наведеној класи; иначе, враћа се “ лажно ”. Овај чланак је пружио све методе за добијање типа објекта у Јави.