Instanceof Operator is important for writing the condition to check if a particular variable reference is of specific type / class. In short it is type checking condition. This operator returns true or false depends on the condition output. It always return false if you compare null value with any class. Lets look at an simple example that demonstrates the use of instanceof operator.
Employee.java
package javabeat.net.core; public class Employee {}
Manager.java
package javabeat.net.core; public class Manager extends Employee{}
InstanceOfDemo.java
package javabeat.net.core; public class InstanceOfDemo { public static void main (String args[]){ Employee employee = new Employee(); Manager manager = new Manager(); Employee employeeNull = null; //Checking for same object if (employee instanceof Employee){ System.out.println("Employee is instance of Employee"); }else{ System.out.println("Employee is not instance of Employee"); } //Checking for child object to parent object if (manager instanceof Employee){ System.out.println("Manager is instance of Employee"); }else{ System.out.println("Manager is not instance of Employee"); } //Checking for parent object to child object if (employee instanceof Manager){ System.out.println("Employee is instance of Manager"); }else{ System.out.println("Employee is not instance of Manager"); } //Checking for null value to Employee object if (employeeNull instanceof Employee){ System.out.println("null is instance of Employee"); }else{ System.out.println("null is not instance of Employee"); } } }