? ? ?平常寫業(yè)務(wù)代碼時(shí),我們操作一個(gè)對象都是先對它進(jìn)行初始化,然后再進(jìn)行調(diào)用其方法或者屬性。?
? ? ?但是如果涉及稍微底層的代碼時(shí),如果需要操縱一個(gè)方法,總不能也是直接new一個(gè)對象吧。
? ? ? 第一,這樣過于繁瑣,
? ? ? 第二,這樣也不利于維護(hù)。
? ? ? 所以這里就可以利用Java反射機(jī)制來進(jìn)行操作。反射機(jī)制通俗點(diǎn)講就是通過方法來調(diào)對象,避免了初始化這樣一個(gè)過程。
? ? ? 下面就舉一個(gè)經(jīng)典反射案例,對象間的賦值。平時(shí)設(shè)計(jì)業(yè)務(wù)代碼是,根據(jù)分級規(guī)則,業(yè)務(wù)層和數(shù)據(jù)層進(jìn)行隔離,而數(shù)據(jù)層的實(shí)體類與業(yè)務(wù)層的實(shí)體類需要一一對應(yīng),并在進(jìn)行數(shù)據(jù)庫CRUD時(shí)進(jìn)行一個(gè)實(shí)體類對象間的賦值,但是如果屬性間一一進(jìn)行賦值,顯得過于繁瑣。所以就可以通過反射來進(jìn)行賦值。
? ? ? 話不多說,直接上圖:



上圖就是測試結(jié)果,測試無誤。