菜鳥面試記 (2 1,反射學習整理)

2021-10-09 11:22:31 字數 2073 閱讀 1141

一 :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天時間了,雖工作還沒有找著...