- 相關推薦
Java反射機制常用API
Class是Reflection故事起源。針對任何您想探勘的class,唯有先為它產生一個Class object,接下來才能經由它喚起為數十多個的Reflection APIs。首先看看Class,反射的核心類,所有的操作都是圍繞該類來生成的。
Java允許我們從多種管道為一個class生成對應的Class object:
Java代碼
//運用Class.forName()
Class c1 = Class.forName("java.lang.String");
//運用getClass(),每個object都有此方法
String str = "abc";
Class c2 = str.getClass();
//運用getSuperclass(),每個class對象都有此方法
Button b = new Button();
Class c3 = b.getClass();
Class c4 = c3.getSuperclass();
//運用.class 語法
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(原始包裝類)的TYPE語法
Class c10 = Integer.TYPE;//表示基本類型int的Class實例,與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的訪問控制
public, protected, private這些限定符和C++一樣。
對于一個類來說,JAVA有package限定和public限定。一個.java文件是JAVA的編譯單元,必須是含有唯一的public類,代表了這個編譯單元對于其他的編譯單元的接口。而其他的class都是package限定。然而這一點并沒有在C++上增加任何東西。C++的編譯單元是.obj文件。另一個編譯單元在編譯的時候,只要包含相對應的頭文件,就能訪問其中定義的類。但是你完全可以將一些類的定義放在實現文件中,保持你的頭文件只有一個類的定義。那么你的編譯單元對外就只有一個接口了。
【Java反射機制常用API】相關文章:
關于Java的內省與反射06-19
2016年JAVA認證基礎知識:基于反射機制的服務代理調用08-21
Java語言的特點和實現機制10-01
PHP imagick API中文簡介09-01
Java枚舉的常用方法10-05
Java數組定義常用方法09-28
Java與Java web的區別08-10
折疊J2EE的核心API與組件積累08-25