引用类型转换

Posted anke-z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用类型转换相关的知识,希望对你有一定的参考价值。

引用类型转换

多态的转换分为向上转型与向下转型两种:

向上转型

其实就是多态的写法:

格式:父类名称 对象名 = new 子类名称();

含义:右侧创建一个子类对象,把他当做父类来看待使用

Animal animal = new Cat();

注意事项:向上转型一定是安全的,从小范围转向了大范围,比如从小范围的猫,转到了大范围的动物

类似于:

double num = 100;// 正确 int -- > double ,自动类型转换

向下转型

对象的向下转型,其实就是一个【还原】得动作。

格式:子类名称 对象名 = (子类名称) 父类名称;

含义:将父类对象,【还原】称为本来的子类对象

Animal animal = new Cat();// 本来是猫,向上转型成为动物

Cat cat = (cat) animal;// 本来是猫 ,已经被当做动物了,还原回来成为本来的猫

注意事项:

a.必须保证对象本来创建的时候,就是猫,才能向下转型称为猫。

b.如果对象创建的时候本来不是猫,非要向下转型成为猫,就会报错。ClassCastException

类似于:

int num = (int ) 10.0;// 可以

int num = (int ) 10.5;// 不可以,精度损失

图解:

技术图片

以上是关于引用类型转换的主要内容,如果未能解决你的问题,请参考以下文章

引用数据类型自动类型提升自动类型转换强制类型转换

引用数据类型自动类型提升自动类型转换强制类型转换

Java中引用类型的强制类型转换问题

引用类型的强制类型转换

引用类型的转换

今天聊一聊Java引用类型的强制类型转换