一切都是對象之構建一個Java程序(一)名字可見性

名字可見性
  名字慣例對任何程序設計語言來說,都是一個重要問題,如果在程序的某個模塊裏使用了一個名字,而其他人在這個程序的另一個模塊裏也使用了相同的名字,那麼怎樣才能區分這兩個名字並防止二者互相沖突呢?這個問題在C語言中尤其重要,因爲程序往往包含許多難以關聯的名字。C++類(Java類基於此)將函數包於其內,從而避免了與其他類中的函數名相沖突。然而,C++仍允許全局數據和全局函數的存在,所以還是有可能發生衝突。爲了解決這個問題,C++通過幾個關鍵字引入了名字空間的概念。
  Java採用了一種全新的方法來避免上述問題。爲了給一個類庫生產不會與其他名字混淆的名字,Java設計者希望程序員反過來使用自己的Internet域名,因爲這樣可以保證他們肯定是獨一無二的。由於我的域名是MindView.net,所以我的各種奇奇怪怪的應用工具類庫就被命名爲net.mindview.utility.foibles。反轉域名後,句點就用來代表字目錄的劃分。
  在Java1.0和Java1.1中,擴展名com、edu、org、net等約定爲大寫形式。所以上面的庫名應該寫成NET.mindview.utility.foibles。然而,在Java2開發到一半是,設計者發現這樣做會引起一些問題,因此,現在整個包名都是小寫了。
  這種機制意味着所有的文件都能夠自動存活於他們自己的名字空間內,而且同一個文件內的每個類都有唯一的標識符——Java語言本身已經解決了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章