Instanceof关键字 和 引用类型转换
Instanceof 关键字
- instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
- 如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。class可以是类,可以是接口。
- X Instanceof Y 如果 X 和 Y 存在父子关系就会编译通过,否则会直接报错; 如果 X 是 Y 的父亲所创建的实例,那么返回false ,如果 X 是 Y 或者 Y的儿子创建的实例,那么返回TRUE。
## 引用类型转化
儿子(低)<---父(高) 强制类型转换 例: Animal animal(低)= (Animal) new Object()(高);
父(高) <---儿子(低) 不需要强制类型转换 例: Object object(高)= new Animal()(低); 子类转换成父类可能会丢失一些方法
* 多态的作用?
— 降低耦合度提高程序的扩展力
— 能使用多态尽量使用多态
— 父类型引用指向子类型对象
— 面向抽象编程 不要面向具体编程(宠物是抽象的 猫 狗等是具体的)