熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

方法調用的綁定

2013-11-23 18:41:42  來源: Java核心技術 

  將一個方法調用同一個方法主體連接到一起就稱為綁定(Binding)若在程序運行以前執行綁定(由編譯器和鏈接程序如果有的話)就叫作早期綁定大家以前或許從未聽說過這個術語因為它在任何程序化語言裡都是不可能的C編譯器只有一種方法調用那就是早期綁定
  上述程序最令人迷惑不解的地方全與早期綁定有關因為在只有一個Instrument句柄的前提下編譯器不知道具體該調用哪個方法
  解決的方法就是後期綁定它意味著綁定在運行期間進行以對象的類型為基礎後期綁定也叫作動態綁定運行期綁定若一種語言實現了後期綁定同時必須提供一些機制可在運行期間判斷對象的類型並分別調用適當的方法也就是說編譯器此時依然不知道對象的類型但方法調用機制能自己去調查找到正確的方法主體不同的語言對後期綁定的實現方法是有所區別的但我們至少可以這樣認為它們都要在對象中安插某些特殊類型的信息
  Java中綁定的所有方法都采用後期綁定技術除非一個方法已被聲明成final這意味著我們通常不必決定是否應進行後期綁定——它是自動發生的
  為什麼要把一個方法聲明成final呢?正如上一章指出的那樣它能防止其他人覆蓋那個方法但也許更重要的一點是它可有效地關閉動態綁定或者告訴編譯器不需要進行動態綁定這樣一來編譯器就可為final方法調用生成效率更高的代碼

From:http://tw.wingwit.com/Article/program/Java/hx/201311/25586.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.