【Java基础】向上转型和向下转型

1.基本数据类型和引用数据类型转换比较

image

(1)基本数据类型转换
 ① 自动类型转换:小->大

long g = 20;
double d = 12.0f;

 ② 强制类型转换:大->小

float f = (float)12.0;
int a = (int)1200L;

(2)引用类型转换
 ① 子类->父类:自动进行(多态)

American a1 = new American();
Person p1 = a1;

//或写为
Person p1 = new American();

 ② 父类->子类:强制类型转换
 在转换前可以先使用x对象 instanceof A类判断对象类型

Person person = new Person();
American a3 = (American)person;

 ③ 没有继承关系的引用类型间的转换是非法的(编译错误)

2.类型转换异常

ClassCastException的异常

Object objPri = new Integer(5);
// 下面代码运行时引发ClassCastException异常
String str = (String) objPri;
posted @ 2022-09-15 08:56  植树chen  阅读(70)  评论(0编辑  收藏  举报