package cn.itcast_01;
/* * 反射:就是通過class檔案物件,去使用該檔案中的成員變數,構造方法,成員方法。
* * person p = new person();
* p.使用
* * 要想這樣使用,首先你必須得到class檔案物件,其實也就是得到class類的物件。
* class類:
* 成員變數 field
* 構造方法 constructor
* 成員方法 method
* * 獲取class檔案物件的方式:
* a:object類的getclass()方法
* b:資料型別的靜態屬性class
* c:class類中的靜態方法
* public static class forname(string classname) 引數是類的全路徑,如果找不到會報錯classnotfoundexception
* * 一般我們到底使用誰呢?
* a:自己玩 任選一種,第二種比較方便
* b:開發 用第三種
* 為什麼呢?因為第三種是乙個字串,而不是乙個具體的類名。這樣我們就可以把這樣的字串配置到配置檔案中。
*/public class reflectdemo
}
package cn.itcast_01;
public class person
private person(string name)
person(string name, int age)
public person(string name, int age, string address)
public void show()
public void method(string s)
public string getstring(string s, int i)
private void function()
@override
public string tostring()
}
反射獲取Class物件的三種方式
test void contextloads1 throws exception 反射獲取類中的方法 method declaredmethods userclass.getdeclaredmethods for method declaredmethod declaredmethods 反射獲取類...
java反射之獲取Class物件
一 非基本資料型別 1 呼叫靜態方法class.forname string classname 引數為完整的類名,包括包的名字。class.forname p1.person p1是包名,person是類名 class.forname oracle.jdbc.driver.oracledriver...
反射機制獲取Class物件的三種方式
person person new person 1 通過object類的getclass 方法 需要先例項化乙個物件 class clazz1 person.getclass 2 通過物件例項方法獲取物件 需要先例項化乙個物件 class clazz2 person.class 3 類的全路徑 不...