日期:2014-05-20  浏览次数:20766 次

什么是对象类型转换?
JAVA语言中,什么是对象类型的转换?(我知道有向上转型和向下转型,但到底什么是什么我还是不清楚)。  
  
 使用对象类型转换有什么作用?

 在什么时候需要用到对象类型转换?可不可以不用或者有没有更好的方法替代类型转换?

请各位指导一下,谢谢啦

------解决方案--------------------
可以对象类型转的
------解决方案--------------------
动物 鸟 鹦鹉 鹦鹉转换鸟,或者鹦鹉转换动物,或者鸟转换动物,此类转换为向上转换。就是有低级转高级
对象类型转换运用 比如说 在控制台以字符串(String)接收"1.231",此时你想把"1.231"变为数值型是就要使用转换Integer.parseInt();
------解决方案--------------------
简单地说
Java code
class A {

}

class B extends A {

}

public class Test {
    public void main(String[] args) {
        A a = new A(); //a是A类型的变量,它引用一个A对象
        B b = new B(); //b是B类型的变量,它引用一个B对象
        A aa = b; //这里是向上转换,aa是A类型的变量,b是B类型的变量,
                    //把b所引用的B类型的对象转换成A类型的对象,然后让aa引用这个对象

         B bb = (B)aa; //这里是向下转换,bb是B类型的变量,aa是A类型的变量
                         //把aa所引用的A类型的对象转换成B类型的对象,然后让bb引用这个对象
    }
}

------解决方案--------------------
强制转换主要是为安全性考虑
------解决方案--------------------
因为java是强类型语言。所有的操作都是在特定类型上进行的。有的时候你获取的对象实例可能是一个对象的父类,并不包含你所需要的方法,但是子类里面却包含这个方法。这时候需要将父类强制转换为子类。再就是一些基本数值类型的数据。比如你的方法里面接受一个int型的参数,但是你手里的数字确是一个long型的。就需要强制转换一下,牺牲一些精度,可能造成数字的截断。