我对这个不是很清楚 谁能给我讲讲啊  如何用 什么时候用 最好举个例子 谢谢了

解决方案 »

  1.   

    参见:http://hi.baidu.com/cathy_200182/blog/item/b9ebcdd6c9f24e2b07088b97.html
      

  2.   

    比如说:class Student{
    }
    Student st = new Student();
    Object obj = st;//这就叫向上类型转换(子类转换成父类)
      

  3.   

    比如说:class Student{
    }
    Student st = new Student();
    Object obj = st;//这就叫向上类型转换(子类转换成父类)
      

  4.   

    父类指向子类的引用~List list = new ArrayList();
      

  5.   

    顶楼上的,
    好处是:
    比如有时候你要的方法ArrayList里没有,而
    LinkedList里有时,直接改一下List list = new LinkedList();,下面就可以list._() 了!!!
      

  6.   

    向上转型是把子类当做父类用。 使父类可以调用子类重写过的方法。 如: 
    class   Sp{ 
        public   void   sayHi(){ 
            Systemout.println( "Sp   hi~ "); 
        } 
    } class   S1   extends   Sp{ 
        public   void   sayHi(){ 
            Systemout.println( "S1   hi~ "); 
        } 
    } class   S2   extends   Sp{ 
        public   void   sayHi(){ 
            Systemout.println( "S2   hi~ "); 
        } 
    } public   class   Test{ 
        public   static   void   main(String[]   args){ 
            Sp   sp     =   new   Sp(); 
            Sp   sp1   =   new   S1();//这就是向上转型 
            Sp   sp2   =   new   S2();//这就是向上转型         sp.sayHi(); 
            sp1.sayHi();//sp1与sp2都是   Sp类型的,可是却可以有不同的输出 
            sp2.sayHi();     } 

     
     
      

  7.   

    生物里面分为  动物和人类  
    人类里面分为 小孩和成年人动物和人类都是生物的子类
    小孩和成年人都是人类的子类
    你可以把人类的一个对象 比如LZ你 向上转型为一个生物  那么当(生物)LZ; 这句结束之后  LZ虽然还是一个人类 但是计算机认为你就是一个生物了同样  一个成年人的对象 比如LZ你  向上转为一个人类  那么LZ不在是成年人的对象了  你就是一个人类的对象; 同样 也可以把成年人对象的LZ 转为一个生物  那么LZ就是一个生物了。向上转型是安全的  因为LZ肯定是一个人类 并且LZ肯定是一个生物但是向下就不一定安全了  这个LZ应该明白