下面是我个人看法,仅供参考向上转型指子类向父类转型或与父类型变量产生运算向下转型指父类型向子类转型举个例子Objecto=newHashMap();//变量o定义的是Object类型,实际初始化时是HashMap类型(Object是所有类的父类),属于向上转型,没有任何问题Strings=o.get(id);//会报错//这条语句,从HashMap中获得对象,赋值到String变量由于是原生的HashMap,所以里面的元素是Object类型,赋值给String变量相当于向下转型,有毛病,需要强迫类型转换Strings=(String)o.get(id);//当前条件是HashMap中元素的确是String类型