Тази статия ще ви помогне да научите метода за получаване на типа на обект в Java.
Как да получа тип обект в Java?
За да получите типа на предварително дефиниран или дефиниран от потребител клас обект в Java, можете да използвате:
- getClass() метод
- instanceof оператор
Сега ще проверим всеки от споменатите методи един по един!
Метод 1: Вземете тип на предварително дефиниран обект от класа с помощта на метода getClass().
В Java имаме предварително дефинирани класове като класове обвивки като String, Double, Integer и много други. Понякога трябва да проверим типа на обекта, докато използваме предварително дефинирани класове. За тази цел Java предлага „ getClass() ” метод, който принадлежи към „ Обект ” клас.
Синтаксис
Синтаксисът на „ getClass() ” е даден, както следва:
х. getClass ( )
Тук „ getClass() ' ще върне класа на посочения ' х ” обект.
Пример
В този пример ще създадем обект тип String с име ' х ”, съдържащ следната стойност:
низ х = 'Здравейте' ;
След това ще отпечатаме изявление, използвайки „ System.out.println() ” метод:
Система . навън . println ( 'x принадлежи на?' ) ;Накрая ще получим типа на обекта ' х ”, като извикате „ getClass() ” метод:
Система . навън . печат ( х. getClass ( ) ) ;Резултатът показва, че създадената променлива принадлежи към класа Java String:
Нека видим друг метод за получаване на типа обект с помощта на оператора „instanceof“.
Метод 2: Вземете тип на предварително дефиниран обект от класа с помощта на оператор „instanceof“.
Можете също да използвате „ instanceof ”, за да проверите типа обект в програма на Java. Този оператор връща булева стойност, която показва дали обектът е екземпляр на конкретния клас или не.
Синтаксис
Синтаксисът на „ instanceof ' е както следва:
Тук, ' х ” е обект и „ Цяло число ” е предварително дефинираният клас обвивка на Java. „ instanceof ” операторът проверява дали обектът принадлежи към споменатия клас или не и връща булева стойност.
Пример
В този пример имаме обект ' х ” от класа Integer, имащ „ 5 ” като неговата стойност:
След това ще отпечатаме изявление, използвайки „ System.out.println() ” метод:
Система . навън . печат ( 'x е екземпляр на клас Integer?' ) ;Сега ще проверим дали обектът е екземпляр на клас Integer или не:
Система . навън . печат ( х instanceof Цяло число ) ;
Резултатът показва „ вярно 'като обект' х ” е екземпляр на класа Integer:
В този момент може би се чудите как да получите типа потребителски дефиниран клас обект. Даденият по-долу раздел ще ви помогне в това отношение.
Метод 3: Вземете тип дефиниран от потребителя клас обект с помощта на метода getClass().
Можете също така да получите типа на дефинирания от потребителя клас обект с помощта на „ getClass() ” метод. В такъв сценарий ще сравним обекта с името на класа, използвайки „ == ” оператор за сравнение.
Синтаксис
За определената цел синтаксисът на „ getClass() ” се дава като:
Тук „ getClass() ' методът се извиква от ' myclassObj ” обект на „ Моят клас “ и след това се сравнява с името с помощта на оператора за сравнение „ == ”.
Пример
В този пример имаме три класа, наречени „ Моят клас ”, “ MynewClass ', и ' Пример ”, където MyClass действа като родителски клас на MynewClass:
„ MynewClass ” е дъщерен клас, тъй като е разширен от „ Моят клас ”:
клас MynewClass се простира Моят клас { }В метода main() на класа „ Пример ”, ще декларираме и инстанциираме обект от родителския клас „ Моят клас ”. След това проверете дали към кой клас принадлежи създаденият обект; родител или дете? За да направим това, ще извикаме „ getClass() ” със създадения обект и сравнете получената стойност с имена на родителски и дъщерни класове, използвайки условия if-else-if:
публичен клас Пример {публичен статичен невалиден основен ( низ [ ] аргументи ) {
MyClass myclassObj = нов Моят клас ( ) ;
ако ( myclassObj. getClass ( ) == Моят клас. клас ) {
Система . навън . println ( „Обектът „myclassObj“ е тип „MyClass““ ) ;
} друго ако ( myclassObj. getClass ( ) == MynewClass. клас ) {
Система . навън . println ( „Обектът „myclassObj“ е тип „MynewClass““ ) ;
}
}
}
Изходът показва, че обектът „ myclassObj ” принадлежи към родителския клас с име „ Моят клас ”:
Сега се насочете към следващия раздел!
Метод 4: Вземете тип дефиниран от потребителя клас обект с помощта на оператор „instanceof“.
Подобно на предварително дефинираните класове, за дефинираните от потребителя класове можете също да получите типа обект, като използвате „ instanceof ' оператор.
Синтаксис
Синтаксисът е даден по-долу:
Тук „ instanceof ” оператор ще провери дали „ myclassObj ” е екземпляр на „ Моят клас ' или не.
Пример
Сега ще използваме същите класове, които създадохме в предишния пример. Единствената разлика е, че ще използваме „ instanceof ”, за да проверите дали създаденият екземпляр на обект принадлежи към родителския или дъщерния клас:
публичен статичен невалиден основен ( низ [ ] аргументи ) {
MyClass myclassObj = нов Моят клас ( ) ;
ако ( myclassObj instanceof Моят клас ) {
Система . навън . println ( „Обектът „myclassObj“ е екземпляр на „MyClass““ ) ;
} друго ако ( myclassObj instanceof MynewClass ) {
Система . навън . println ( „Обектът „myclassObj“ е екземпляр на „MynewClass““ ) ;
}
}
}
Даденият резултат показва, че „ instanceof ” операторът потвърди типа на обекта като „ Моят клас ”:
Компилирахме всички методи, свързани с получаване на тип обект в Java.
Заключение
За да получите тип обект в Java, можете да използвате „ getClass() ” метод или „ instanceof ' оператор. Тези методи могат да се използват за проверка на типове обекти както за предварително дефинирани, така и за дефинирани от потребителя класове. Методът getClass() връща името на класа, докато операторът „instanceof“ връща булева стойност, където „ вярно ” показва, че обектът принадлежи към посочения клас; в противен случай се връща ' невярно ”. Тази статия предостави всички методи за получаване на типа обект в Java.