В этом примере мы научимся определять класс объекта в Java с помощью метода getClass (), оператора instanceof и метода isInstance ().
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Класс и объекты Java
- Оператор instanceof Java
Пример 1: проверьте класс объекта с помощью getClass ()
class Test1 ( // first class ) class Test2 ( // second class ) class Main ( public static void main(String() args) ( // create objects Test1 obj1 = new Test1(); Test2 obj2 = new Test2(); // get the class of the object obj1 System.out.print("The class of obj1 is: "); System.out.println(obj1.getClass()); // get the class of the object obj2 System.out.print("The class of obj2 is: "); System.out.println(obj2.getClass()); ) )
Вывод
Класс obj1: class Test1 Класс obj2: class Test2
В приведенном выше примере мы использовали getClass()
метод Object
класса для получения имени класса объектов obj1 и obj2.
Чтобы узнать больше, посетите Java Object getClass ().
Пример 2: проверьте класс объекта с помощью оператора instanceOf
class Test ( // class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test if(obj instanceof Test) ( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Вывод
obj - объект класса Test
В приведенном выше примере мы использовали instanceof
оператор, чтобы проверить, является ли объект obj экземпляром класса Test.
Пример 3: проверьте класс объекта с помощью isInstance ()
class Test ( // first class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test1 if(Test.class.isInstance(obj))( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Вывод
obj - объект класса Test
Здесь мы использовали isInstance()
метод класса, Class
чтобы проверить, является ли объект obj объектом класса Test.
isInstance()
Метод работает аналогично instanceof
оператору. Однако это предпочтительнее во время работы.