亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

下溯造型與運行期類型標識

2019-11-18 13:21:55
字體:
來源:轉載
供稿:網友

  由于我們在上溯造型(在繼續結構中向上移動)期間丟失了具體的類型信息,所以為了獲取具體的類型信息——亦即在分級結構中向下移動——我們必須使用 “下溯造型”技術。然而,我們知道一個上溯造型肯定是安全的;基礎類不可能再擁有一個比衍生類更大的接口。因此,我們通過基礎類接口發送的每一條消息都肯定能夠接收到。但在進行下溯造型的時候,我們(舉個例子來說)并不真的知道一個幾何外形實際是一個圓,它完全可能是一個三角形、方形或者其他外形。
  
下溯造型與運行期類型標識


  為解決這個問題,必須有一種辦法能夠保證下溯造型正確進行。只有這樣,我們才不會冒然造型成一種錯誤的類型,然后發出一條對象不可能收到的消息。這樣做是非常不安全的。
  
  在某些語言中(如C++),為了進行保證“類型安全”的下溯造型,必須采取非凡的操作。但在java中,所有造型都會自動得到檢查和核實!所以即使我們只是進行一次普通的括弧造型,進入運行期以后,仍然會毫無留情地對這個造型進行檢查,保證它的確是我們希望的那種類型。假如不是,就會得到一個ClassCastException(類造型違例)。在運行期間對類型進行檢查的行為叫作“運行期類型標識”(RTTI)。下面這個例子向大家演示了RTTI的行為:
  
  //: RTTI.java
  // Downcasting & Run-Time Type
  // Identification (RTTI)
  import java.util.*;
  
  class Useful {
   public void f() {}
   public void g() {}
  }
  
  class MoreUseful extends Useful {
   public void f() {}
   public void g() {}
   public void u() {}
   public void v() {}
   public void w() {}
  }
  
  public class RTTI {
   public static void main(String[] args) {
  Useful[] x = {
   new Useful(),
   new MoreUseful()
  };
  x[0].f();
  x[1].g();
  // Compile-time: method not found in Useful:
  //! x[1].u();
  ((MoreUseful)x[1]).u(); // Downcast/RTTI
  ((MoreUseful)x[0]).u(); // Exception thrown
   }
  } ///:~
  
  和在示意圖中一樣,MoreUseful(更有用的)對Useful(有用的)的接口進行了擴展。但由于它是繼續來的,所以也能上溯造型到一個Useful。我們可看到這會在對數組x(位于main()中)進行初始化的時候發生。由于數組中的兩個對象都屬于Useful類,所以可將f()和g()方法同時發給它們兩個。而且假如試圖調用u()(它只存在于MoreUseful),就會收到一條編譯期出錯提示。
  
  若想訪問一個MoreUseful對象的擴展接口,可試著進行下溯造型。假如它是正確的類型,這一行動就會成功。否則,就會得到一個ClassCastException。我們不必為這個違例編寫任何非凡的代碼,因為它指出的是一個可能在程序中任何地方發生的一個編程錯誤。
  
  RTTI的意義遠不僅僅反映在造型處理上。例如,在試圖下溯造型之前,可通過一種方法了解自己處理的是什么類型。整個第11章都在講述Java運行期類型標識的方方面面。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久久久久久| 成人网欧美在线视频| 国产精品视频久久久久| 最近2019中文字幕大全第二页| 国产成人一区二区三区| 成人免费观看a| 国产精品欧美一区二区三区奶水| 久久久国产精彩视频美女艺术照福利| 国内精品国产三级国产在线专| 久久久国产一区二区| 日韩专区在线播放| 亚洲欧美日韩中文视频| 91社区国产高清| 国模极品一区二区三区| 黄网站色欧美视频| 91精品国产91久久久久福利| 中文字幕日韩高清| 91久久久久久久久久| 久久久www成人免费精品张筱雨| 日韩av免费一区| 国产有码在线一区二区视频| www欧美日韩| 国产精品一区二区久久久| 日本韩国欧美精品大片卡二| 欧美精品在线第一页| 午夜精品久久久久久久久久久久久| 97久久精品人人澡人人爽缅北| 亚洲国产精品专区久久| 国产69精品久久久久9999| 国产精品福利网| 国产日产欧美精品| 国产精品国内视频| 国产欧美精品一区二区| 亲爱的老师9免费观看全集电视剧| 亚洲男人天堂2023| 成人激情视频在线播放| 国产精品私拍pans大尺度在线| 成人黄在线观看| 91精品国产九九九久久久亚洲| 国产又爽又黄的激情精品视频| 国产免费亚洲高清| 57pao成人永久免费视频| 亚洲高清不卡av| 亚洲人成绝费网站色www| 久久久久久综合网天天| 国产亚洲一区二区在线| 久久久这里只有精品视频| 国产剧情久久久久久| 亚洲www永久成人夜色| 亚洲女人被黑人巨大进入al| 疯狂欧美牲乱大交777| 亚洲老板91色精品久久| 一区二区在线视频| 色中色综合影院手机版在线观看| 精品亚洲国产视频| 欧美日韩国产麻豆| 热99精品里视频精品| 欧美激情在线有限公司| 91免费精品国偷自产在线| 精品视频在线播放色网色视频| 国产91在线播放九色快色| 精品久久久久久久久久久久久久| 欧美巨猛xxxx猛交黑人97人| 国产一区二区三区视频在线观看| 国内精品免费午夜毛片| 国产97在线观看| 成人福利在线观看| 欧美一级大片视频| 欧美成人免费网| 欧美亚洲伦理www| 亚洲视频视频在线| 精品国产一区二区在线| 夜夜狂射影院欧美极品| 欧美亚洲国产日韩2020| 成人免费观看49www在线观看| 精品国产成人在线| 欧美激情网站在线观看| 中文字幕欧美视频在线| 美日韩精品免费观看视频| 亚洲色图第三页| 国产亚洲综合久久| 日本精品久久中文字幕佐佐木| 久久亚洲国产精品成人av秋霞| 久久久久久91| 91在线无精精品一区二区| 曰本色欧美视频在线| 成人免费观看a| 清纯唯美亚洲激情| 欧美猛交ⅹxxx乱大交视频| 亚洲激情在线观看| 国产精品91在线| 亚洲欧美一区二区三区在线| 日韩经典中文字幕在线观看| 精品国产一区二区三区久久久狼| 91啪国产在线| 亚洲日本成人网| 亚洲精品第一页| 亚洲午夜女主播在线直播| 日韩高清av在线| 91精品国产综合久久久久久久久| 亚洲精品久久久久久久久| 亚洲人精品午夜在线观看| 国产精品最新在线观看| 国产精品永久免费在线| 亚洲色图综合网| 国产精品丝袜白浆摸在线| 日韩中文在线中文网三级| 综合国产在线视频| 精品久久久久久电影| 欧美日韩成人在线播放| 亚洲综合成人婷婷小说| 欧美日韩激情美女| 日本韩国在线不卡| 久久久久久久久久久网站| 日本高清视频一区| 欧美第一淫aaasss性| 国产精国产精品| 亚洲xxxxx性| 欧美日韩亚洲成人| 亚洲人成欧美中文字幕| 欧美日韩精品在线播放| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲黄在线观看| 欧美成人精品一区二区| 懂色aⅴ精品一区二区三区蜜月| 欧美亚洲伦理www| 欧美极品美女电影一区| 日韩风俗一区 二区| 欧美激情欧美狂野欧美精品| 最近2019好看的中文字幕免费| 狠狠色狠色综合曰曰| 亚洲精品www久久久久久广东| 国产美女主播一区| 亚洲xxxx3d| 日韩高清电影免费观看完整| 成人国产精品av| 欧美最猛性xxxxx(亚洲精品)| 中文字幕欧美专区| 亚洲成人久久一区| 插插插亚洲综合网| 亚洲一区美女视频在线观看免费| 成人h视频在线观看播放| 日韩精品中文在线观看| 久久人人爽人人爽爽久久| 国产精品69精品一区二区三区| 久久久久在线观看| 国产精品久久久久久久久久尿| 亚洲精品少妇网址| 色小说视频一区| 欧美性xxxx极品hd欧美风情| 久久久极品av| 高清一区二区三区四区五区| 欧美激情精品久久久久久免费印度| 97av在线影院| 91精品免费看| 日韩国产精品视频| 国产精国产精品| 亚洲美女视频网| 国产精品久久久久久av下载红粉| 在线电影中文日韩| 欧美亚洲成人xxx| 国产精品嫩草影院久久久| 日韩欧美视频一区二区三区| 欧美成人黑人xx视频免费观看|