您的位置:首页 > 编程语言 > Java开发

Java的向下转型和向上转型专题

2015-10-28 23:45 218 查看
Java的向下转型和向上转型

   例如有2个类,Father是父类,Son类继承自Father

   1) 向上转型

      子类-->父类(此处父类对象可以是接口)
  Father f1 = new Son();//现在f1引用指向一个son对象
  
  需要注意:向上转型时 f1只能调用与父类对象共有的方法
  

   2) 向下转型

      子类-->父类-->子类
 Father f2 = new Son();//第一步:子类-->父类
 Son S1 = (Son)f1;//第二步:父类-->子类
 
 例子:
 Father f3 = new Father();
 Son S2 = (Son)f3;//会出错,子类引用不能指向父类对象
 

   3) 总结:1.父类引用能指向子类对象,但子类引用不能指向父类对象;

                    2.把子类对象直接赋给父类引用叫upcasting向上转型,向上转型属于 安全转换,不需要强制类型转换;
    3.把指向子类对象的父类引用赋值给子类引用叫做downcasting,需要强制类型转换;
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: