Test.java :
package cn.xxx.demo;
/*
* 比较运算符, 结果真假值
* 关键字, instanceof, 比较引用数据类型
*
* Person p = new Student();
* p = new Teacher()
*
* 关键字 instanceof 比较, 一个引用类型的变量,是不是这个类型的对象
* p变量,是Student类型对象,还是Teacher类型对象
*
* 引用变量 instanceof 类名
* p instanceof Student p是不是Student类型的对象,如果是,intanceof返回true
*
*/
public class Test {
public static void main(String[] args) {
Person p = new Student(); // Student和Teacher类都是Person的子类。 但是和Animal类没任何关系。
// Person p = new Teacher(); // 多态。
boolean b = p instanceof Student; // p对象类型和Student之间存在继承或实现的关系(多态),可以使用instanceof关键字。
System.out.println(b);
//b = p instanceof Animal; // p对象类型和Animal之间不存在继承或实现的关系,不可以使用instanceof关键字。直接报错。
p.sleep();
}
}