程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java內部類標識符

java內部類標識符

編輯:關於JAVA

由於每個類都會生成一個.class文件,用於容納與如何創建這個類型的對象有關的所有信息(這種信息產生了一個名為Class對象的元類),所以大家或許會猜到內部類也必須生成相應的.class文件,用來容納與它們的Class對象有關的信息。這些文件或類的名字遵守一種嚴格的形式:先是封裝類的名字,再跟隨一個$,再跟隨內部類的名字。例如,由InheritInner.java創建的.class文件包括:
InheritInner.class
WithInner$Inner.class
WithInner.class
如果內部類是匿名的,那麼編譯器會簡單地生成數字,把它們作為內部類標識符使用。若內部類嵌套於其他內部類中,則它們的名字簡單地追加在一個$以及外部類標識符的後面。
這種生成內部名稱的方法除了非常簡單和直觀以外,也非常“健壯”,可適應大多數場合的要求(注釋③)。由於它是Java的標准命名機制,所以產生的文件會自動具備“與平台無關”的能力(注意Java編譯器會根據情況改變內部類,使其在不同的平台中能正常工作)。

③:但在另一方面,由於“$”也是Unix外殼的一個元字符,所以有時會在列出.class文件時遇到麻煩。對一家以Unix為基礎的公司——Sun——來說,采取這種方案顯得有些奇怪。我的猜測是他們根本沒有仔細考慮這方面的問題,而是認為我們會將全部注意力自然地放在源碼文件上。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved