Java反射是指程序在運行時動態(tài)地獲取類信息和調(diào)用對象方法的能力。Java中有三種方式可以實現(xiàn)反射:
1.獲取Class對象的方式:Java中有三種獲取Class對象的方式,分別是Class.forName()、類名.class和對象.getClass()。
2.通過Class對象獲取類的信息:獲取類信息的方法有很多,常見的有以下幾種:getPackage()、getFields()、getDeclaredFields()、getConstructors()、getMethods()、getDeclaredMethods()等。
3.調(diào)用對象的方法:可以通過反射調(diào)用對象的方法,常見的方法有以下幾種:getMethod()、getDeclaredMethod()、invoke()等。其中g(shù)etMethod()和getDeclaredMethod()的區(qū)別是前者只能獲取public方法,而后者可以獲取所有訪問權(quán)限的方法。invoke()方法則可以用于調(diào)用方法并傳遞參數(shù)。