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)站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汪清县| 安阳县| 交城县| 诸城市| 泽库县| 江北区| 丁青县| 河津市| 英山县| 应城市| 饶平县| 徐闻县| 手机| 怀仁县| 平谷区| 莲花县| 洮南市| 鄂托克旗| 南昌县| 四会市| 铁岭市| 双鸭山市| 泗洪县| 富川| 德庆县| 宁安市| 永宁县| 中方县| 乌苏市| 兖州市| 石林| 扶沟县| 庆城县| 永定县| 得荣县| 湾仔区| 体育| 石景山区| 农安县| 博客| 汽车|