一 :hashmap實現原理
hashmap原理
二:mybatils常用標籤
mybatils常用標籤
三:你講一下反射吧
回答:當時簡單說了一下反射是不需要new物件,即可建立物件。這兩天重新學習了一下,記錄一下
反射概念:
反射就是對於任意乙個類,能呼叫它的方法和屬性。這需要通過class類中的方法去實現。
一 獲取class類的三種方法
例如獲取student類的class物件
1
student stu=
newstudent()
class clazz
=stu.getclass;
class clazz
= student.
class
class clazz
=class.
forname
("路徑"
)
三種方式常用第三種。第一種,已經有物件了,還要反射幹哈?,第二種需要匯入類的包,依賴性太強。第三種只需要傳入類路徑的字串,這個可以直接寫在配置檔案中。
二 通過class物件獲取構造方法
constructor con= clazz.
getconstructor
(null)
這裡(null)這是無參構造方法,null代表引數型別,
如果有參構造,()中傳例如 string.
class
,char
.class等
執行方法
con.
newinstance
("大名");
()中傳的是方法需要的引數
person中的方法
public
person
(string name)
執行結果:
我的名字是大名
三:通過class物件獲取成員變數
field f=clazz.
getfield
("name")(
)中為需要獲取變數的名稱
person person =
(person) clazz.
newinstance()
;string name=
(string)f.
get(person)
;
四:獲取成員方法:
class clazz
= class.
forname
("cn.gzh.jiu.person");
person person =
(person) clazz.
newinstance()
;method m = clazz.
getmethod
("m1"
, null)
;//第乙個引數為需要呼叫的方法名,第二個引數為該方法需要的引數型別
m.invoke
(person,null)
;//第二個引數為方法需要的引數
另:呼叫私有方法或者私有變數的時候,需要設定暴力反射
f.
setaccessible
(true
);
獲取的方法也不同:
clazz.
getdeclaredfield()
//獲取私有變數
clazz.
getdeclaredconstructor()
//獲取私有構造方法
clazz.
.getdeclaredmethod()
//獲取私有成員方法
菜鳥防毒記
當下病毒木馬瘋狂,在買不起正版防毒軟體的情況下 為了在木馬洪流中使自己的電腦不受傷害 本人也跟病毒木馬經歷了幾年大大小小的肉搏戰 總結一下經驗以備後用 一 發現木馬 發現木馬和病毒一般可以借助一些檢測軟體,如360安全衛士,超級兔子等,在沒有這些工具的時候,也只能手工來查毒了。一般電腦出現啟動速度變...
菜鳥求職記3
轉眼間就9月22號了,已經來西安12天了,前兩天恰逢八月十五,回了趟家,而這可以說是我近六七年來僅有的一次跟家人一起過的中秋節,高中三年大學三年,初中也就不記得了,但很確定也沒有幾次,因為初中也是住校或者回去跟爺爺奶奶過,跟我爸媽一起過中秋節我都沒有印象,諸如此類就不多說了,此事說來話長,那時候的事...
菜鳥求職記4
明天沒有 活動 所以今晚有空敲一敲最近這段時間的經歷 此段時間也確實是忙,雖然筆試的幾家公司都沒有給本菜鳥發面試通知,但本菜鳥也確實比以前上心多了,用心答好每一場筆試題目,堅持收集不會的題目,以為自己積蓄能量。今天9月29號了,十一假馬上就要來臨,而我來到古城西安也整整20天時間了,雖工作還沒有找著...