-
方法參數獲取查看全部
-
通過對象得到類的相關信息查看全部
-
基本類型,void都是class的實例化對象查看全部
-
動態加載類,通過Class. forName,一般功能型的類通過動態加載來實現查看全部
-
靜態加載類:在編譯時加載類,通過new來實現查看全部
-
可通過類類型,既實例化的Class對象,來創建該類的對象,通過調用newInstance方法來實現查看全部
-
一個類只能是Class的一個實例化對象查看全部
-
實例化Class類的兩種方式查看全部
-
獲取類對象的第三種方式查看全部
-
類是java.lang.class的對象查看全部
-
類是Class的對象
查看全部 -
父類的類型查看全部
-
1、編譯時加載類我們成為“靜態加載”,運行時刻加載類我們成為“動態加載”
2、new 創建對象是靜態加載類,在編譯時候就需要加載所有可能用到的類。Class.forName()實現的是動態加載。
查看全部 -
反射的操作時編譯之后的操作
兩個不同對象
Array list =new ArrayList();
Array<String> list2 =new ArrayList<String>(); //使用泛型約束
Class c1=list.getClass();
Class c2=list2.getClass();
c1==c2結果返回true說明編譯之后集合泛型是去泛型化的
Java中集合的泛型,是防止輸入錯誤,只在編譯階段有效
繞過編譯就無效了
利用方法反射來操作,繞過編譯
查看全部 -
方法的名稱和方法的參數列表才能唯一決定某個方法。
方法反射的操作
利用反射機制調用方法
method.invoke(對象,參數列表) 如果沒有返回值,返回null,如果有返回值返回具體的返回值,需要從Object強制轉換。參數列表可以是new Object[](){object,object}; 獲直接傳參數 object,object。
method.invoke((對象) 調用沒有參數方法。調用時使用getMethod(對象)。
getMethod(name)獲取沒有參數的方法,返回Method對象。
getMethod(name,parameterTypes) 獲取有參數public方法包括繼承的方法,name就是方法的名稱,返回Method對象。提示Class...parameterTypes代表可變參數,可以是new Class[](){int.class,int.class};或者直接int.class,int.class。
getDeclaredMethod(name,paramterTypes):獲得所有自己聲明的方法,name就是方法的名稱。Class...parameterTypes代表可變參數,可以是new Class[](){int.class,int.class};或者直接int.class,int.class。
查看全部
舉報