一:反射的概念
反射就是載入類,然後獲取類的屬性、方法、建構函式等。
二:載入類到記憶體(有硬碟位元組碼檔案到記憶體)
三種載入類的方式:
1三:反射類中的組成部分1:使用getconstructor()、getmethod()、getfield(),可以反射public修飾的成員,@test2//
測試載入類
3public
void test1() throws
exception
如果需要反射private修飾的成員,需要使用下面的getdeclared***()。
2:反射構造方法
person定義的構造方法:
1反射構造方法**:public
person() 45
public
person(string name) 89
public person(string name, int
age)
1213
private person(listlist)
1其中反射引數為list的構造方法,因為構造方法時private修飾的,所以必須使用getdeclaredconstructor()獲取構造方法,@test2//
反射無參構造方法
3public
void test2() throws
exception 910
@test
11//
反射引數string的構造方法
12public
void test3() throws
exception
1819
@test
20//
反射引數為string、int的構造方法
21public
void test4() throws
exception
2728
@test
29//
反射引數為list的構造方法
30public
void test5() throws
exception
同時需要設定強制方法setaccessible(true);
也可以直接使用反射類獲取物件,**如下:
12:反射方法@test
2public
void test6() throws
exception
反射方法**如下:
person類中定義的普通方法:
1反射普通方法:public
void
abc() 45
public
string abc(string name) 89
public
void abc(string name, int
i) 1213
public
class abc(inputstream in) ;15}
1617
public
static
void abc(int
i)
1person定義的main方法:@test2//
public void abc()
3public
void test7() throws
exception 910
@test
11//
public string abc(string name)
12public
void test8() throws
exception
1819
@test
20//
public void abc(string name, int i)
21public
void test9() throws
exception );26}
2728
@test
29//
public class abc(inputstream in)
30public
void test10() throws
exception
3738
@test
39//
public static void abc(int i)
40public
void test11() throws
exception
1反射main方法:public
static
void
main(string args)
1這裡要注意,由於jdk5相容了jdk1.4的特性,傳入字串陣列時,它會對傳入引數進行拆分,@test2//
public static void main(string args)
3public
void test12() throws
exception );
8 m.invoke(p, new object });
9 }
如:new string將被拆分成"1"、"2"、"3",所以直接反射會報引數個數異常,
有兩種處理方法:
a:在前面加上object b:將陣列再次放到陣列中
3:反射字段
person類中定義字段:
1反射字段:public string name = "tom";
2private
int age = 27;
3private
static
double salary = 8000.0;
1反射的知識就總結到這裡!@test2//
public string name = "tom";
3public
void test13() throws
exception 14}
1516
@test
17//
private int age = 27;
18public
void test14() throws
exception
2627
@test
28//
private static double salary = 8000.0;
29public
void test15() throws
exception
javaweb學習總結 4
web伺服器收到客戶端的http請求,會針對每一次請求,分別建立乙個用於代表請求的request物件 和代表響應的response物件。request和response物件即然代表請求和響應,那我們要獲取客戶機提交過來的資料,只需要找request物件就行了。要向客戶機輸出資料,只需要找respon...
javaweb學習總結 6
二 cookie的常用方法 1 向客戶程式傳送cookie 1.1 建立cookie物件 cookie c new cookie userid landril 1.2 設定最大時效,預設該cookie是儲存在瀏覽器的內在中,使用者關閉瀏覽器則被刪除,下面的方法是將cookie儲存在硬碟上。c.set...
JavaWeb學習筆記 java基礎 7 反射
載入類,解析類組成 用來做框架 反射載入類person 3種方法 1class clazz class.forname com.sws.peerson 2class clazz1 new person getclass 3 class clazz3 person.class 反射類的建構函式並建立物...