JSP/JAVA

          JAVA SERVER PAGES

          java類型強制轉(zhuǎn)換

          問題:
          class A{
          int sum;
          }
          class B extends A{
          double sum;
          public static void main(String args[]){
          A a=new A();
          B b=new B();
          b=(A)a;//異常?請教why?
          }
          }

          回答:


          形象一點說:
          class 人{
          int sum;
          }
          class 男人 extends 人{
          double sum;
          public static void main(String args[]){
          人 a=new 人();
          男人 b=new 男人();
          b=(男人)a;
          }
          }
          你能把“人”強制轉(zhuǎn)換成“男人”嗎??很顯然不能
          所謂“父類向子類轉(zhuǎn)換是強制轉(zhuǎn)換”是指這種情況
          A a=new B();
          B b=(B)a;
          此時a實際上是一個B的實例,但被定義為A,這樣就無法調(diào)用B中定義的方法,只有在強制轉(zhuǎn)換為B的實例后才能調(diào)用B中定義的方法——前提是:a是B的實例
          如果是
          A a=new A();
          B b=new B();
          b=(A)a;
          a本身是A的實例,不具有B的特征,不可能轉(zhuǎn)換為B的實例。
          這就像你不能
          Object obj=new Object();
          String str = (String)obj;

          posted on 2009-07-22 23:44 C雞雞 閱讀(969) 評論(0)  編輯  收藏 所屬分類: java


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          友情鏈接

          學習網(wǎng)站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 田东县| 丰顺县| 怀来县| 诸暨市| 苍山县| 金坛市| 镇安县| 神池县| 荔浦县| 古蔺县| 吉林省| 通河县| 进贤县| 石狮市| 嵊州市| 阿城市| 萍乡市| 柘荣县| 封开县| 诏安县| 理塘县| 唐河县| 得荣县| 修武县| 乌海市| 富蕴县| 金阳县| 海伦市| 昌江| 沙洋县| 靖州| 广州市| 河津市| 连州市| 固镇县| 营山县| 白城市| 荆门市| 孝昌县| 西充县| 德阳市|