java引用类型强制转换, 类型是什么意思,转换的是什么,有什么作用?_百度...
发布网友
发布时间:2022-04-24 00:43
我来回答
共2个回答
热心网友
时间:2022-04-24 09:40
表示强制转换类型.学点强制转换的知识吧
比如:
1.基本类型:
int
a=0;
float
a=8.2//error,这个不能被编译通过
//我们这样写就可以了
float
a=(float)8.2;//把double
型的强制转换为float
//也可以这样写的float
a=8.2f
2.引用类型:
一个超类能做的东西,其子类也能做,而一个子类能做的东西超类不一定能做,所以就有这样的规则:
(1).一个子类的对象可以强制转换成为其超类的对象;
(2).一个超类的对象如果强制转换成子类的对象将在运行的时候有异常抛出;
(3).如果不是同一继承树上的类强制转换,将产生编译错误.
例如:
class
a
{}
class
b
extends
a{}
class
c
{}
b
b=new
b();
a
a=(a)b;//被b引用的对象强制转换为类a的对象,类b的对象具有类a对象的性质,所以可以转换成功
a=new
a();
b=(b)a;//原本是类a的对象,可能不具备类b的性质,这样会在运行的时候产生异常.
c
c=new
c();
a=(a)c;//如果c不是同一继承树类编译的时候将会产生错误
热心网友
时间:2022-04-24 10:58
引用类型,指的是对象的引用代表的这个对象的类型。
例如:
A
a;这个对象引用类型为A。
如果A是父类,B继承于A,有一个对象B
b,(A)b就叫强制转换,把b的引用类型转换成A,就可以把b当A实例化的对象使用