Java 向上和向下转型

来源:互联网 发布:主机mac地址怎么查 编辑:程序博客网 时间:2024/05/29 03:27

转型是基于继承的。

向上转型

把子类转换成父类,不需要强制转换,则转型后不能访问子类特有的属性和方法,如果子类方法被重写,则根据动态绑定,父类调用子类同名方法时,重写生效,这里可以体现出多态。

向下转型

父类转换成子类,需要强制转换。
如果父类指向的就是子类,则转型安全;如果不是,会在运行时报错,java.lang.ClassCastException错误。可以使用instanceof来避免出错此类错误。

总结

  • 父类引用可以指向子类对象,子类引用不能指向父类对象。
  • 把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转型。
    如Father father = new Son();
  • 把指向子类对象的父类引用赋给子类引用叫向下转型(downcasting),要强制转型。
    如father就是一个指向子类对象的父类引用,把father赋给子类引用son 即Son son =(Son)father;
    其中father前面的(Son)必须添加,进行强制转换。
  • upcasting 会丢失子类特有的方法,但是子类overriding 父类的方法,子类方法有效
  • 向上转型的作用,减少重复代码,父类为参数,调有时用子类作为参数,就是利用了向上转型。这样使代码变得简洁。体现了JAVA的抽象编程思想
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 同行招牌高于我的招牌怎么办 拼多多刷手退款怎么办 网银卡在手机上卸载了怎么办 企业网银密码忘了怎么办 网银钱转错了怎么办 民生百货购物卡过期了怎么办 新办卡注册过支付宝账号怎么办 床上用品专卖店没人进店怎么办 红蚂蚁咬了红肿痒怎么办 碎纸机轮不转了怎么办 轮滑鞋刀架螺丝圆了了怎么办 万朋商城2018年怎么办 超市盘点少了烟怎么办 歌华有线电视费用欠费好久怎么办 租房到期房东不退押金怎么办 个税申报错税局查出来怎么办 苹果手表抬腕唤醒失灵怎么办 在京东充电费充错了怎么办 进去了微商传销怎么办 喝完酒四肢酸痛睡不着怎么办 喝多了全身痛怎么办 喝完酒第二天浑身酸痛怎么办 鑫和陌车骗我钱怎么办 社会人加你qq怎么办 有人问你加qq怎么办 住酒店遇到被色情诈骗怎么办 怎么办我陷入感情骗局了 移动手机卡被强制停机怎么办 诚e赊套现被骗了怎么办 钻戒小了怎么办小窍门 爱用商城逾期了怎么办 工程骗局洗脑了怎么办 还网贷客服电话打不通怎么办 中信客服电话打不通怎么办 亚马逊客服电话打不通怎么办 安卓软件闪退怎么办? 吃鸡麦克风炸麦怎么办 美版iphone屏摔了怎么办 天地荣域四十后怎么办 淘宝拍下商品不付款怎么办 淘宝买东西取消订单淘金币怎么办