キーワード
まず第一に:instanceofはJavaキーワードの予約
キーワードです!
キーワード!
キーワード!
効果
その特定の機能は、左側のオブジェクトが右側のクラスまたはこのクラスのサブクラス(またはインターフェイスと実装の間の関係)によって作成されたインスタンスオブジェクトであるかどうかをテストすることです。
使用法
注意!!!
右側の宣言タイプと左側のクラスのいずれかが、継承ツリーの同じブランチであるか、テストクラスとの継承(実装)関係を持っている必要があります。
クラス関係を想定する:
Object o = new Student(); // 主要看这个对象是什么类型与实例化的类名
// instanceof关键字可以判断左边对象是否是右边类或者子类的一个实例
System.out.println(o instanceof Student); // o 是Student类的一个实例对象 所以判断右边类跟student有无关系 以及显示声明有无关系
System.out.println(o instanceof Person); // true
System.out.println(o instanceof Object); // true
System.out.println(o instanceof String); // false
System.out.println(o instanceof Teacher); // 无关系
System.out.println("========================");
Person person = new Student();
System.out.println(person instanceof Person); // true
System.out.println(person instanceof Object); // true
// System.out.println(person instanceof String); // 编译错误,Person和String没有继承关系
System.out.println(person instanceof Teacher); // 无关系