- 相關(guān)推薦
Java反射機制常用API
Class是Reflection故事起源。針對任何您想探勘的class,唯有先為它產(chǎn)生一個(gè)Class object,接下來(lái)才能經(jīng)由它喚起為數十多個(gè)的Reflection APIs。首先看看Class,反射的核心類(lèi),所有的操作都是圍繞該類(lèi)來(lái)生成的。
Java允許我們從多種管道為一個(gè)class生成對應的Class object:
Java代碼
//運用Class.forName()
Class c1 = Class.forName("java.lang.String");
//運用getClass(),每個(gè)object都有此方法
String str = "abc";
Class c2 = str.getClass();
//運用getSuperclass(),每個(gè)class對象都有此方法
Button b = new Button();
Class c3 = b.getClass();
Class c4 = c3.getSuperclass();
//運用.class 語(yǔ)法
Class c5 = String.class;
Class c6 = Integer.class;//java.lang.Integer
Class c7 = java.awt.Button.class;
Class c8 = int.class;//Integer.TYPE==int.class
Class c9 = int[].class;
//運用primitive wrapper classes(原始包裝類(lèi))的TYPE語(yǔ)法
Class c10 = Integer.TYPE;//表示基本類(lèi)型int的Class實(shí)例,與int.class返回結果一樣
Class c11 = Byte.TYPE;
Class c12 = Character.TYPE;
Class c13 = Short.TYPE;
Class c14 = Boolean.TYPE;
Class c15 = Long.TYPE;
Class c16 = Float.TYPE;
Class c17 = Double.TYPE;
Class c18 = Void.TYPE;
Java的訪(fǎng)問(wèn)控制
public, protected, private這些限定符和C++一樣。
對于一個(gè)類(lèi)來(lái)說(shuō),JAVA有package限定和public限定。一個(gè).java文件是JAVA的編譯單元,必須是含有唯一的public類(lèi),代表了這個(gè)編譯單元對于其他的編譯單元的接口。而其他的class都是package限定。然而這一點(diǎn)并沒(méi)有在C++上增加任何東西。C++的編譯單元是.obj文件。另一個(gè)編譯單元在編譯的時(shí)候,只要包含相對應的頭文件,就能訪(fǎng)問(wèn)其中定義的類(lèi)。但是你完全可以將一些類(lèi)的定義放在實(shí)現文件中,保持你的頭文件只有一個(gè)類(lèi)的定義。那么你的編譯單元對外就只有一個(gè)接口了。
【Java反射機制常用API】相關(guān)文章:
JAVA認證基礎知識:基于反射機制的服務(wù)代理調用09-20
關(guān)于Java的內省與反射06-19
2016年JAVA認證基礎知識:基于反射機制的服務(wù)代理調用08-21
Java語(yǔ)言的特點(diǎn)和實(shí)現機制10-01
PHP imagick API中文簡(jiǎn)介09-01
Java枚舉的常用方法10-05
Java數組定義常用方法09-28
Java與Java web的區別08-10
折疊J2EE的核心API與組件積累08-25