Java中对象类型转换原则有哪些?

 我来答
军晨蓓6B
2013-11-25 · TA获得超过590个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:88.3万
展开全部
Java数据类型的转换原则

从低精度向高精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

基本类型向类类型转换

正向转换:通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
反向转换:通过类包装器来转换
int b=a.intValue();

类类型向字符串转换

正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
百度网友1e6417f
2013-11-25
知道答主
回答量:32
采纳率:0%
帮助的人:10.8万
展开全部
java中有编译时类型和运行时类型一说,这是多态的一种表现,比如类B继承自类A 可以这样写 A a = new B(); 这条语句在编译和运行时都会通过,接下来如果要写这样一条语句 B b = a;这条语句在编译时时通不过的必须强制类型转换:B b = (B)a; 解释:第一条语句编译时编译器的检测机制会去检测(Java中规定父类引用可以指向子类对象),这时的编译时类型是A,但是实际运行时类型是B ,因为new的是B类型的对象;第二句在编译时如果不强类型转换是通不过的(这是规则,没有为什么),强类型转换之后,编译通过,接下来执行也不会出错。

但是用子类的引用指向父类的对象在运行时是一定会出错的;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ciashu
2013-11-25
知道答主
回答量:10
采纳率:100%
帮助的人:3.7万
展开全部
对象类型转换是说一个对象可以强制类型转换成另一种类型,要注意的是:他要转换的目标类型必须是它的子类或父类,与它不相干的类它就不能够转换,不然会出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瓶子快到碗里来
2013-11-25 · TA获得超过238个赞
知道答主
回答量:247
采纳率:0%
帮助的人:142万
展开全部
Java又有两种基本的类型转换原则:拓宽转换原则(widening conversion)与缩小转换原则(narrowing conversion)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huyingjava
2013-11-25 · TA获得超过552个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:102万
展开全部
子类可自动转换为父类对象,父类对子类的引用可通过强制转换为子类对象
public class A {}
public class B extends A {}
public class C extends A {}

A b = new B() ; A c = new C() ;

B b1 = (B)b ; C c1 = (C) c ;

c和b没关系不能互转。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式