В този пример ще се научим да определяме класа на обект в Java с помощта на метода getClass (), instanceof оператор и метода isInstance ().
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java клас и обекти
- Екземпляр на 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 е: клас Test1 Класът на obj2 е: клас 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
оператора. Въпреки това се предпочита по време на изпълнение.