java吧 关注:1,294,008贴子:12,829,084
  • 16回复贴,共1

今天同事问了我一个问题

只看楼主收藏回复

他:所有类都是object子类对不对。
我:恩。
他:那类A能转换成object类对不对。
我:恩。
他:object类可以强制转换成子类B对不对。
我:恩。
他:那为什么我把A转换成object,然后却不能将这个object强制转换成B?
我竟无言以对。。。


来自手机贴吧1楼2014-12-10 19:41回复
    一个人想变成残疾人可以砍掉双手,这时候想变回来你怎么整


    来自iPhone客户端2楼2014-12-10 19:47
    回复
      2026-01-09 11:34:04
      广告
      不感兴趣
      开通SVIP免广告
      朋友的朋友不一定是朋友


      IP属地:上海3楼2014-12-10 20:03
      回复
        转成object的a 不是b的父类了


        IP属地:浙江来自Android客户端5楼2014-12-10 20:32
        回复
          java在强制转型时,被转型变量所引用的实际对象的类型,必须是目标类型的实例,或者是目标类型的子类、实现类的实例,才能转型成功。注意:看清楚是实际对象,像你这个例子中,object变量所引用的实际对象的类型是类A,它不满足我上面所说的转型的原则,所以不能转型成功。


          IP属地:山东来自Android客户端7楼2014-12-10 20:34
          回复


            IP属地:上海来自iPhone客户端8楼2014-12-10 20:43
            收起回复
              "object类可以强制转换成子类B对不对"怎么就嗯了


              IP属地:福建12楼2014-12-10 21:40
              回复
                Object能强制转换成子类B?这不违反里氏替换原则吗?
                ——我喂自己袋盐
                >>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36 OPR/26.0.1656.24


                13楼2014-12-10 22:11
                回复
                  2026-01-09 11:28:04
                  广告
                  不感兴趣
                  开通SVIP免广告
                  其实强制转换的前提是运行时类型必须一样。


                  IP属地:北京来自Android客户端14楼2014-12-10 22:54
                  回复