-
反射:Class.forName查看全部
-
反射:class的表示方式1-2查看全部
-
反射:class類的表示方式-3查看全部
-
反射:class1查看全部
-
通過new創建對象,都是靜態加載類,在編譯時刻就需要加載所有的可能使用到的類。 通過Class.forName();是動態加載類,在運行時刻加載查看全部
-
靜態加載類和動態加載類:查看全部
-
1.在面向對象的世界里,萬事萬物皆對象。 java語言中,靜態的成員、普通數據類型是不是對象呢?不是 類是誰的對象呢? 類是對象,類是java.lang,Class類的實例對象。 好比,自定義一個student對象,student是Student類的實例對象。 任何一個類,都是Class的實例對象,這個實例對象有3中表示方式。 類名.class 對象.getClass() Class.forName("全類名") 類類型:類也是一個對象,這個對象,我們叫它為類類型。 注意:一個類只可能是class類的一個實例對象。 可以通過類的類類型創建該類的實例對象。 Class s=Student.class;//這個s就是類類型 Student s1=(Student)s.newInstance();查看全部
-
1.在面向對象的世界里,萬事萬物皆對象。類是java.lang.Class類的實例對象 2.Class.forName("類的全稱") 3.查看全部
-
編譯時刻加載類是靜態加載類,運行時刻加載類是動態加載類查看全部
-
所有的類都是Class類的實例。秉承了萬物皆對象的思想。查看全部
-
任何的類中都有一個隱含的靜態成員變量class。查看全部
-
一個類只可能是Class的一個實例查看全部
-
要獲取類的信息,先獲取類的類類型,即Class c = obj.getClass(); 1.成員變量也是對象,Java.lang.reflect.Field Field類封裝了關于成員變量的操作 2.Field[]gs=c.getFields();獲取的是所有public的成員變量的信息,getDeclaredFields()獲取的是該類自己聲明的成員變量的信息 3.Class fieldType=field.getType();得到成員變量的類型的類類型;String fieldname=field.getName();得到成員變量的名稱 4.構造函數也是對象,java.lang.Constructor中封裝了構造函數的信息,getConstructor()獲取所有的public的構造函數,getDeclaredConstructor()得到所有的構造函數(必須是自己聲明的) 5.Class[]paramTypes=constructor.getParameterTypes();獲取構造函數的參數列表--->得到的是參數列表類型的類類型;查看全部
-
動態加載類和靜態加載類: 編譯時加載的類是靜態加載類 靜態加載類,在編譯時刻加載所有可能用到的類 運行時加載的類是動態加載類 編譯時刻不會報錯 Class c = Class.forName(arg[0]); OfficeAble oa = (OfficeAble)c.newInstance(); // 使用接口,實現實例化不同的類,該類的接口為OfficeAble查看全部
-
獲取方法信息: 基本數據類型,void關鍵字都存在類類型 class.getMethods()方法獲取是該類的所有public方法,包括從父類繼承的方法; class.getDeclareMethods()方法獲取該類自行聲明的所有方法,不論訪問權限; method.getName()獲取方法名 method.getReturnType()獲取方法的返回值 method.getParameterTypes(),獲取方法的參數類型的類類型數組class[] 三獲取方法信息: 一、基本的數據類型,void關鍵字等都存在類類型 Class c = 基類.class (int,String,double,void等) 二、Class類的基本API操作的 1、c.getName()可以獲取類的名稱 2、c.getSimpleName();//不包含包名的類的名稱 3、c.getMethods()獲取類的【public方法】集合,【包括繼承來的】 ***注意【所有方法都是Method類的對象】 4、c.getDeclaredMethods()獲取的是所有該類【自己聲明】的方法,【不問訪問權限】 三、Method類提供了一些操作方法的方法 1、.getReturnType()得到該方法的返回值類型的類類型(class),如int.class String.class 2、.getName()得到方法的名稱 3、.getParameterTypes()獲得參數列表類型的類類型,如參數為(int,int)則得到 Class c1 = int.class; int的類類型 Class c2 = String.class; String類的類類型 String類字節碼 Class c3 = double.class; double這個數據類類型的字節碼表示方式 Class c4 = Double.class; Double這個類的類類型字節碼表示方式 Class c5 = void.class; 表達了void這個類的類類型 getName為這個類的類類型的具體名稱 c1.getName ---> int c2.getName ---> java.lang.String 類的全稱 c2.getSimpleName ---> String 不包含包名的類的名稱查看全部
舉報
0/150
提交
取消