什么時候可以用反射法?
判斷某個類是否存在,Class.forName
編譯時不能直接引用,運行時需要調用的情況
例如:做基礎jar開發,需要根據業務是否引入某個三方jar,做一些操作。
針對三方jar的操作應用使用反射完成,不能直接import該jar里面的類進行操作,否則在業務應用沒有引用三方jar的時候會編譯失敗。
編譯時不清楚對象類型,運行時需要構建對象(反射構建對象)
例如:spring的create bean
獲取類結構、方法結構、運行時動態調用方法,獲取方法參數等等
配合注解使用
什么時候可以用反射法?
判斷某個類是否存在,Class.forName
編譯時不能直接引用,運行時需要調用的情況
例如:做基礎jar開發,需要根據業務是否引入某個三方jar,做一些操作。
針對三方jar的操作應用使用反射完成,不能直接import該jar里面的類進行操作,否則在業務應用沒有引用三方jar的時候會編譯失敗。
編譯時不清楚對象類型,運行時需要構建對象(反射構建對象)
例如:spring的create bean
獲取類結構、方法結構、運行時動態調用方法,獲取方法參數等等
配合注解使用