-
動態加載查看全部
-
創建Class,獲取方法:Method,獲取成員變量:filed,獲取構造器查看全部
-
Java反射機制——通過反射了解集合泛型的本質 1:反射的操作都是編譯之后的操作;就是運行階段 2:java中集合的泛型是防止錯誤輸入的(在編譯階段只允許輸入規定的一類);只在編譯階段有效,只要繞過編譯就無效啦 我們可以通過方法的反射來操作,繞過編譯 eg: ArrayList list1=new ArrayList(); ArrayList<String> list2=new ArrayList<String>(); Class c1=list1.getClass(); Class c2=list2.getClass(); System.out.print(c1==c2);//true Method m=c2.getMethod("add",Object.class); m.invoke(list2,20);//向list2集合中添加一個int 型的值,可以繞過編譯,添加成功 但是不能直接foreach list2集合的,會報類型轉換錯誤查看全部
-
getConstructors() 獲取所有public的構造函數方法 getDeclaredConstructors() 獲取自己所有的構造函數查看全部
-
獲取方法的返回值類型: Class returnType = method.getReturnType(); 獲取參數的類型: Class[] paramTypes = method.getParameterTypes();查看全部
-
getMethods() 方法獲取所有的public的函數,包括父類繼承而來的 getDeclaredMethods() 獲取所有該類自己聲明的方法,不管訪問權限查看全部
-
new 創建對象時是靜態加載類,在編譯時刻就需要加載所有的可能使用到的類。查看全部
-
靜態加載類和動態加載類查看全部
-
Class類的構造器是private的,所以我們不能創建Class的對象,只能由JVM來創建Class的對象。查看全部
-
Class類查看全部
-
類是對象,類是java.lang.Class類的實例對象查看全部
-
new對象是動態加載類查看全部
-
任何一個類都是Class實例對象 萬事萬物皆對象,類也是對象,是Class的實例對象 1>任何一個類都有一個隱含的靜態成員 Class c1 = String.class; 2>已知該類的對象,通過getClass方法 Class c2 = "hello".getClass; 3>第三種 Class c3 = null; c3 = Class.forName("java.lang.String"); 可以通過類的類類型創建該類的對象實例---->通過c1 or c2 or c3創建String的對象 String str = (String)c1.newInstance(); //需要有無參構造方法查看全部
-
Class類查看全部
-
JAVA-Reflect 反射查看全部
舉報
0/150
提交
取消