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