JSP/JAVA

          JAVA SERVER PAGES

          java類型強制轉換

          問題:
          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;
          }
          }
          你能把“人”強制轉換成“男人”嗎??很顯然不能
          所謂“父類向子類轉換是強制轉換”是指這種情況
          A a=new B();
          B b=(B)a;
          此時a實際上是一個B的實例,但被定義為A,這樣就無法調用B中定義的方法,只有在強制轉換為B的實例后才能調用B中定義的方法——前提是:a是B的實例
          如果是
          A a=new A();
          B b=new B();
          b=(A)a;
          a本身是A的實例,不具有B的特征,不可能轉換為B的實例。
          這就像你不能
          Object obj=new Object();
          String str = (String)obj;

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


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


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          友情鏈接

          學習網站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 噶尔县| 闻喜县| 荥经县| 沁阳市| 城市| 吉安县| 上饶县| 芒康县| 盈江县| 阳朔县| 双峰县| 新沂市| 响水县| 苏尼特右旗| 曲麻莱县| 吉首市| 海城市| 灵山县| 徐汇区| 玉门市| 闽侯县| 手机| 内乡县| 涿州市| 井冈山市| 湾仔区| 本溪市| 晋江市| 林州市| 左贡县| 通海县| 淳化县| 西畴县| 黄冈市| 新野县| 廊坊市| 安西县| 襄城县| 会同县| 青阳县| 光泽县|