【慕课笔记】U4 多态 第2节 多态中的引用类型转换

来源:互联网 发布:谌洪果 知无知 编辑:程序博客网 时间:2024/05/22 03:48

第2节 多态中的引用类型转换


1、向上类型转换(隐式/自动类型转换),是小类型到大类型的转换

Dog dog=new Dog();

Animal animal=dog;

2、向下类型转换(强制类型转换),是大类型到小类型的转换(有风险,易发生溢出)

Dog dog=new Dog();

Animal animal=dog;

Dog dog2=(Dog)animal;//加上括号里面进行强制转换

Cat cat=(Cat)animal;//这种是错误的,因为两个不同类型不可相互转换,1编译时Cat类型,2运行时Dog类型

3、instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题

将上述Animal 转换为Cat改为:

if(animal instanceof Cat)//判断animal包含Cat类

Cat cat=(Cat)animal;

else

System.out.println("animal不能强制转换为Cat");

0 0
原创粉丝点击