In this example, we will learn to determine the class of an object in Java using the getClass() method, instanceof operator, and the isInstance() method.
Example 1: Check the class of an object using 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()); } }
Output
The class of obj1 is: class Test1 The class of obj2 is: class Test2
In the above example, we have used the getClass()
method of the Object
class to get the class name of the objects obj1 and obj2.
Example 2: Check the class of an object using instanceOf operator
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"); } } }
Output
obj is an object of the Test class
In the above example, we have used the instanceof
operator to check if the object obj is an instance of the class Test.
Example 3: Check the class of an object using 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"); } } }
Output
obj is an object of the Test class
Here, we have used the isInstance()
method of the class Class
to check if the object obj is an object of the class Test.
The isInstance()
method works similarly to the instanceof
operator. However, it is preferred during the run time.