The Java instanceof operator can be used to test if an object is of a specified type. The result can be either true or false. Let’s see a couple examples.
Example 1
class Vehicle { // ... } class Car extends Vehicle { // ... } class Test { public static void main(String[] args){ Car car = new Car(); System.out.println(car instanceof Car); System.out.println(car instanceof Vehicle); } }
Output: true true
The above example shows that an object of subclass type is also a superclass type. The instanceof operator works on the principle of the is-a relationship. In this case, the Car is a Vehicle.
In Java, every class is derived from the Object class. So, every class is an instance of the Object class.
class Vehicle { // ... } class Car extends Vehicle { // ... } class Test { public static void main(String[] args){ Car car = new Car(); System.out.println(car instanceof Car); System.out.println(car instanceof Vehicle); System.out.println(car instanceof Object); } }
Output: true true true
Example 2
In this example, the instanceof operator is used with an object that is assigned a null value.
class Test { public static void main(String[] args){ Car car = null; System.out.println(car instanceof Car); } }
Output: false
I hope this tutorial was helpful to you. To learn more, check out other Java tutorials for beginners.