下面由java學習教學欄位介紹一個Java反射案例,希望對需要的朋友有幫助!
Java反射案例
需求
#寫一個"框架",不能改變該類別的任何程式碼的前提下,可以幫我們建立任意類別的對象,並且執行其中任意方法
使用
設定檔
##反射步驟
將需要建立的物件的全類別名稱和需要執行的方法定義在設定檔中在程式中載入讀取設定檔使用反射技術來載入類別檔案進記憶體建立物件執行方法設定檔
className=Student methodName=sleep程式碼###
import java.io.InputStream; import java.lang.reflect.Method; import java.util.Properties; /** * @author tanglei * @date 2020/6/11 3:10 下午 */ public class ReflectTest { public static void main(String[] args) throws Exception { Student s = new Student(); Properties pro = new Properties(); //获取配置文件的路径 ClassLoader classLoader = ReflectTest.class.getClassLoader(); InputStream is = classLoader.getResourceAsStream("pro.properties"); pro.load(is); String className = pro.getProperty("className"); String methodName = pro.getProperty("methodName"); //加载类进内存 Class cla = Class.forName(className); Object obj = cla.newInstance(); //加载方法进内存 Method method = cla.getMethod(methodName); method.invoke(obj); } }
以上是Java反射案例(不要錯過)的詳細內容。更多資訊請關注PHP中文網其他相關文章!