Runtime Type Identification in Java can be defined as determining the type of an object at runtime. It is extremely essential to determine the type for a method that accepts the parameter of type java.lang. Unlike C++ Java does not support Runtime Type Identification (RTTI) but it provides few methods to find objects at runtime.
Some essential points regarding Runtime Type Identification in Java are following:
- Determining the type of object at run time not only reduces error but also results in robustness.
- It is also useful before typecasting any object into another type to avoid run time exception.
- It is used to implement the type-specific feature on methods that accept types like objects or any interfaces.
The java.lang.Object.getClass() method is used to determine the type of object at run time.
Syntax:
public final Class getClass()
Return Type: Returns the Class objects that represent the runtime class of this object.
Example 1:
Java
// Java Program to determine Runtime type import java.io.*; public class Example1 { public static void main(String[] args) { // Creating the obj Object obj = new String( "Learn_programming" ); Class abc = obj.getClass(); // Print the class of obj System.out.println( "Class of Object obj is : " + abc.getName()); } } |
Class of Object obj is : java.lang.String
Example 2:
Java
// Java program to determine object class at run time import java.io.*; public class Example2 { public static void main(String[] args) { // create a new Integer Integer num = new Integer( 100 ); // print num System.out.println( "" + num); // print the class of num System.out.println( "" + num.getClass()); } } |
Output:
100 class java.lang.Integer