-
package com.imooc.reflect; import java.lang.reflect.Method; import java.util.ArrayList; public class MethodDemo4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ArrayList list = new ArrayList(); ArrayList<String> list1 = new ArrayList<查看全部
-
package com.imooc.reflect; import java.lang.reflect.Method; public class MethodDemo1 { public static void main(String[] args) { //要獲取print(int,int)方法 //1、要獲取一個方法就是獲取類的信息,獲取類的信息首先要獲取類的類類型 A a1 = new A(); Class c = a1.getClass(); /** * 2、獲取方法,名稱和參數列表來決定 * getMethod獲取的是Public的方法查看全部
-
package com.imooc.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class ClassUtil { /** * 打印類的信息,包括類的成員函數,成員變量(只獲取成員函數public) * @param obj 該對象所屬類的信息 */ public static void printClassMessage(Object obj){ //獲取類的信息 首先要獲取類查看全部
-
方法的反射操作 類名 實例名 = new 類名(); Class cls = 實例名.getClass(); Method m=cls.getMethod("方法名",new Class[]{基本數據類型.class[,基本數據類型.class...]}); Method m=cls.getMethod("方法名",基本數據類型.class[,基本數據類型.class...]); Object o=m.invoke(實例名,new Object[]{參數值[,參數值...]}); Object o=m.invoke(實例名,參數值[,參數值...]);查看全部
-
成員變量也是對象(java.lang.reflect.Field) 獲取所有 public 的成員變量信息 cls.getClass().getFields() 獲取該類自己聲明的成員變量信息 cls.getClass().getDeclaredFields() 構造方法類似查看全部
-
獲取基類的類類型 Class cls = 基類.class (int,String,double,void等) 獲取基類的名稱 cls.getName()(全稱:java.lang.String) cls.getSimpleName() (簡稱:String) 獲取所有的 public 的函數,包括繼承父類而來的 類名.getClass().getMethods() 獲取所有該類自己聲明的方法,不論訪問權限 getDeclaredMethods() getReturnType() 獲取返回類型的類類型 getParameterTypes() 獲取參數類型查看全部
-
Class.forName(“類的全稱”) A、不僅表示了類的類類型,而且還是動態加載類 B、編譯時刻加載類是靜態加載類、運行時刻加載類是動態加載類查看全部
-
類是對象,類是 java.lang.Class 類的實例對象 任何一個類都是 Class 的實例對象,這個實例對象有三種表示方式 A、任何一個類都有一個隱含的靜態成員變量 class Class cls = 類名.class B、知道該類的對象通過 getClass 方法獲取 Class cls = 實例名.getClass() C、通過類名加載 Class cls = Class.forName("包名.類名") 通過類的類類型創建類的對象實例(需要默認無參構造方法) 類名 實例名 = (類名)cls.newInstance()查看全部
-
測試一下查看全部
-
通過反射了解集合泛型的本質查看全部
-
方法的反射操作 A a1 = new A(); Class c = a1.getClass(); Method m=c.getMethod("print",new Class[]{int.class,in.class}); Method m1=c.getMethod("print",String.class,String.class); Object o=m.invoke(a1,new Object[]{10,20}); Object o1=m.invoke(a1,10,20);查看全部
-
泛型可以通過反射繞過編譯檢查查看全部
-
構造方法 Constructor查看全部
-
類也是對象查看全部
-
Class的構造方法為私有的 只有java虛擬機創建Class實例對象查看全部
舉報
0/150
提交
取消