Class是Reflection故事起源。針對任何您想探勘的class,唯有先為它產生一個Class object,接下來才能經由它喚起為數十多個的Reflection APIs。首先看看Class,反射的核心類,所有的操作都是圍繞該類來生成的。
Java允許我們從多種管道為一個class生成對應的Class object:
Java程式碼
//運用ame()
Class c1 = ame("ng");
//運用getClass(),每個object都有此方法
String str = "abc";
Class c2 = lass();
//運用getSuperclass(),每個class物件都有此方法
Button b = new Button();
Class c3 = lass();
Class c4 = uperclass();
//運用s 語法
Class c5 = s;
Class c6 = s;//ger
Class c7 = s;
Class c8 = s;//==s
Class c9 = int[]s;
//運用primitive wrapper classes(原始包裝類)的TYPE語法
Class c10 = ;//表示基本型別int的Class例項,與s返回結果一樣
Class c11 = ;
Class c12 = ;
Class c13 = ;
Class c14 = ;
Class c15 = ;
Class c16 = ;
Class c17 = ;
Class c18 = ;
Java的訪問控制
public, protected, private這些限定符和C++一樣。
對於一個類來說,JAVA有package限定和public限定。一個檔案是JAVA的編譯單元,必須是含有唯一的ic類,代表了這個編譯單元對於其他的編譯單元的介面。而其他的class都是package限定。然而這一點並沒有在C++上增加任何東西。C++的編譯單元是檔案。另一個編譯單元在編譯的時候,只要包含相對應的標頭檔案,就能訪問其中定義的類。但是你完全可以將一些類的定義放在實現檔案中,保持你的標頭檔案只有一個類的定義。那麼你的編譯單元對外就只有一個介面了。