-
class.forName()代表動態加載類查看全部
-
萬事萬物皆對象,任何一個類都是Class的實例對象,這個實例對象有三種表示方式。 Foo foo1 = new Foo(); 第一種:Class c1 = Foo.class(); 第二種:Class c2 = foo1.getClass(); 第三種:Class c3 = null;c3 = Class.forName("Foo類的全稱"); c1、c2、c3均為Foo類的類類型; Foo foo = (Foo)c1.newInstance();//將類類型轉換為foo類型 須有無參的構造方法查看全部
-
interface接口就是一個標準查看全部
-
區分動態加載類和靜態加載類查看全部
-
萬事萬物皆對象,任何一個類都是Class的實例對象,這個實例對象有三種表示方式。 Foo foo1 = new Foo(); 第一種:Class c1 = Foo.class(); 第二種:Class c2 = foo1.getClass(); 第三種:Class c3 = null;c3 = Class.forName("Foo類的全稱"); c1、c2、c3均為Foo類的類類型; Foo foo = (Foo)c1.newInstance();//須有無參的構造方法查看全部
-
1、成員變量是對象,Field 類封裝了成員變量的信息 方法: getFields() 獲取所有 public 成員變量 getDeclaredFields() 獲取所有自己聲明的成員變量,不包括從父類繼承來的。 2、構造函數是對象,Constructor 封裝了構造函數的信息 方法 getConstructors() 獲取所有構造方法查看全部
-
獲取方法信息: 基本數據類型,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 不包含包名的類的名稱查看全部
-
靜態加載類是在編譯時進行,動態加載類是在運行時進行;靜態加載在編譯時有錯誤會報錯,動態加載在編譯時有錯誤不會報錯,在運行時才會報錯。 Class.forName("類的全稱") 不僅表示了類的類類型,還代表了動態加載類 類分為 2 種: 1、靜態加載類 編譯時,加載的類是靜態加載類。 Foo foo = new Foo(); 創建對象是靜態加載類,編譯時就要加載所有要用到的類,如果其中 1 個類有問題,就無法通過編譯。解決該問題,可以使用動態加載類。 2、動態加載類 運行時,加載的類是動態加載類 Class.forName("com.reflect.Foo"); 編譯時不檢查用到的類是否存在,運行時再檢查。查看全部
-
//HelloWorld類也是對象,是java.lang.Class類的對象 //每一個類都有一個隱含的靜態成員變量class Class c1 = HelloWorld.class //已知道該類的對象,通過getClass()方法獲得類類型 HelloWorld hello = new HelloWorld(); Class c2 = hello.getClass(); //通過Class類的forName()方法 Class c3 = Class.forName("包名.HelloWorld"); 結果:c1==c2==c3 (c1,c2,c3稱為類類型) //通過類類型的newInstance()方法,可以獲得類的對象 HelloWorld hello2 = (HelloWorld)c1.newInstance();查看全部
-
class類查看全部
-
集合泛型只在編譯前有效,防止錯誤輸入,編譯之后無效查看全部
-
編譯之后集合是去泛型化的,即使說編譯之后集合是沒有泛型的查看全部
-
Method 的對象是 某一個方法的對象查看全部
-
Method 的對象是 某一個方法的對象查看全部
-
java.lang.reflect.Field封裝關于成員變量的操作 java.lang.reflect.Method封裝關于方法的操作 java.lang.Constructor封裝構造函數信息查看全部
舉報
0/150
提交
取消