亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

final的注意事項

發(fā)布時間:  2012/9/1 16:39:57

設(shè)計一個類時,往往需要考慮是否將一個方法設(shè)為final。可能會覺得使用自己的類時執(zhí)行效率非常重要,
沒有人想覆蓋自己的方法。這種想法在某些時候是正確的。
但要慎重作出自己的假定。通常,我們很難預(yù)測一個類以后會以什么樣的形式再生或重復(fù)利用。常規(guī)用途的

 

類尤其如此。若將一個方法定義成final,就可能杜絕了在其他程序員的項目中對自己的類進行繼承的途
徑,因為我們根本沒有想到它會象那樣使用。
標(biāo)準(zhǔn)Java 庫是闡述這一觀點的最好例子。其中特別常用的一個類是Vector。如果我們考慮代碼的執(zhí)行效
率,就會發(fā)現(xiàn)只有不把任何方法設(shè)為final,才能使其發(fā)揮更大的作用。我們很容易就會想到自己應(yīng)繼承和
覆蓋如此有用的一個類,但它的設(shè)計者卻否定了我們的想法。但我們至少可以用兩個理由來反駁他們。首
先,Stack(堆棧)是從Vector 繼承來的,亦即Stack“是”一個Vector,這種說法是不確切的。其次,對
于Vector 許多重要的方法,如addElement()以及elementAt()等,它們都變成了synchronized(同步
的)。正如在第14 章要講到的那樣,這會造成顯著的性能開銷,可能會把final 提供的性能改善抵銷得一干電腦常識www.boydavid.com 
二凈。因此,程序員不得不猜測到底應(yīng)該在哪里進行優(yōu)化。在標(biāo)準(zhǔn)庫里居然采用了如此笨拙的設(shè)計,真不敢
想象會在程序員里引發(fā)什么樣的情緒。
另一個值得注意的是Hashtable(散列表),它是另一個重要的標(biāo)準(zhǔn)類。該類沒有采用任何final 方法。正
如我們在本書其他地方提到的那樣,顯然一些類的設(shè)計人員與其他設(shè)計人員有著全然不同的素質(zhì)(注意比較
Hashtable 極短的方法名與Vecor 的方法名)。對類庫的用戶來說,這顯然是不應(yīng)該如此輕易就能看出的。
一個產(chǎn)品的設(shè)計變得不一致后,會加大用戶的工作量。這也從另一個側(cè)面強調(diào)了代碼設(shè)計與檢查時需要很強
的責(zé)任心


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線