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

內部類標識符

2013-11-23 19:17:28  來源: Java核心技術 

  由於每個類都會生成一個class文件用於容納與如何創建這個類型的對象有關的所有信息(這種信息產生了一個名為Class對象的元類)所以大家或許會猜到內部類也必須生成相應的class文件用來容納與它們的Class對象有關的信息這些文件或類的名字遵守一種嚴格的形式先是封裝類的名字再跟隨一個$再跟隨內部類的名字例如由InheritInnerjava創建的class文件包括
  
  InheritInnerclass
  WithInner$Innerclass
  WithInnerclass
  
  如果內部類是匿名的那麼編譯器會簡單地生成數字把它們作為內部類標識符使用若內部類嵌套於其他內部類中則它們的名字簡單地追加在一個$以及外部類標識符的後面
  
  這種生成內部名稱的方法除了非常簡單和直觀以外也非常健壯可適應大多數場合的要求(注釋③)由於它是Java的標准命名機制所以產生的文件會自動具備與平台無關的能力(注意Java編譯器會根據情況改變內部類使其在不同的平台中能正常工作)
  
  ③但在另一方面由於$也是Unix外殼的一個元字符所以有時會在列出class文件時遇到麻煩對一家以Unix為基礎的公司——Sun——來說采取這種方案顯得有些奇怪我的猜測是他們根本沒有仔細考慮這方面的問題而是認為我們會將全部注意力自然地放在源碼文件上
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26593.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.