首頁 >Java >java教程 >Java反射案例(不要錯過)

Java反射案例(不要錯過)

藏色散人
藏色散人轉載
2020-06-12 13:25:371940瀏覽

下面由java學習教學欄位介紹一個Java反射案例,希望對需要的朋友有幫助!

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中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除