求教! 

解决方案 »

  1.   

    向上转型会使类的接口变窄,例子就是shape,cicle那个.
    向下转型编译器要求显示的说明,额,我一般用的时候就是将对象从容器中取出的时候.从object向下转型成特定的类.
    新手,不知道说的对不对.
      

  2.   


    class Parent{}
    class Child extends parent{}
    public class Test{
        public static void main(String [] args){
            Parent p1=new Parent();
            Parent p2=new Child();
            Child  c1=new Child();
            Child  c2=(Child)p2;//编译通过,运行通过;
             Child  c3=(Child)p1;//编译通过,运行错误;
             Date   d1=(Date)c1;//编译错误,运行错误;
        }
    }总结:1:强制转换必须在继承链上边;
          2:在进行强制转换之前,最好用instanceof 操作符检查一下;
    eg:
    if(p2 instanceof Child){
       Child  c2=(Child)p2;//编译通过,运行通过;
    }