Java Program to Determine the class of an object

To understand this example, you should have the knowledge of the following Java programming topics:


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.

To learn more, visit Java Object getClass().


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.

Did you find this article helpful?