public class JavaInstanceof {
public static void main(String[] args) {
Parent parent = new Parent();
Child child = new Child();
// parent is an instanceof class Parent, so this line will print
if (parent instanceof Parent) {
System.out.println("parent is instanceof Parent class");
}
// child is an instanceof class Child, so this line will print
if (child instanceof Child) {
System.out.println("child is instanceof Child class");
}
// because of inheritance (Child extends from Parent),
// child is also an instanceof class Parent, so this line will print
if (child instanceof Parent) {
System.out.println("child is instanceof Parent class");
}
// taking it to the extreme, because Child extends Parent which
// implicitly extends Object, child is an instanceof Object,
// so this line also prints
if (parent instanceof Object) {
System.out.println("parent is instanceof Object class");
}
}
}
class Parent {}
class Child extends Parent{}