instanceof和类型转换
instanceof讲解
(62条消息) instanceof用法详解以及注意事项_b15735105314的博客-CSDN博客_instanceof怎么用
在这里也解释一下:在我的理解下,主要是看引用的指向。可以在三代以内,但是不能是同级,同级在编译时就会错误。
类型转换
- 在第一节就已经说过类型转换,但这里是子类与父类的类型转换,同样,也是高转低需要强制转换,如:
//Demo02是父类,Demo03是子类。
Demo03 D1=new Demo03();
Demo02 D2=new Demo02();
D1=((Demo03)D2);//这里就是将父类D2强制转换为子类。
同样的:
//Demo02是父类,Demo03是子类。
Demo03 D1=new Demo03();
Demo02 D2=new Demo02();
D2=D1;//这里就是将子类D1自动转换为父类。
注意点:
- 父类转换为子类,重写的方法就会丢失(如父类原有的test,在父类引用时指向父类,这时父类就可以使用被子类重写前的方法,但是在转换后,由于子类无法指向父类,就只能使用被重写后的方法)。
- 属性依然还可以用。
类型转换的作用:
- 方便方法的调用,减少重复的代码。