以下は、java learning チュートリアル コラムで紹介された Java リフレクションの事例です。困っている友人の役に立てば幸いです。
Java リフレクションのケース
要件
このクラスのコードを変更できない「フレームワーク」を作成します。この前提の下では、任意のクラスのオブジェクトの作成と任意のメソッドの実行を支援できます
Use
Configuration file
Reflection
手順
作成するオブジェクトの完全なクラス名と実行するメソッドを設定ファイルに定義します
設定ファイルをプログラムにロードして読み込みます
リフレクション テクノロジを使用してクラス ファイルをメモリにロードする
オブジェクトの作成
実行メソッド
設定ファイル
className=Student methodName=sleep
code
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 中国語 Web サイトの他の関連記事を参照してください。