: :
/////////////////////load.javapackage org.bromon.reflect ؛ استيراد java.util.arraylist ؛ استيراد java.util.list ؛ تحميل الفئة العامة ، قم بتنفيذ تشغيل {string> {adraylist <؟> Act (قائمة <؟ result.add (سلسلة جديدة ("加载成功")) ؛ نتيجة العودة }} //////////////////////////// جافاباكاجج org.bromon.reflect ؛ استيراد java.util. java.util.arraylist ؛ import java.util.list ؛ تخزين الفئة العامة تنفذ المشغل {Override Public List <؟> Act (List <؟ result.add (سلسلة جديدة ("متجر")) ؛ نتيجة العودة }} /////////////////////javapackage org.bromon.reflect ؛ import java.util.list ؛ import java.util.arraylist ؛ public class success passion {strage> {adraylist <؟> Act (list <؟ result.add (سلسلة جديدة ("操作成功")) ؛ نتيجة العودة }}} ////////////////////////////////testreflect.javapackage org.bromon.reflect ؛ import java.io.fileInputStream ؛ import java.lang.reflect.method ؛ import java.Util.Uraylist ؛ TestReflect {private string loadprotocal (string header) {string result = null ؛ حاول {Properties Prop = New Properties () ؛ fileInputStream fis = new FileInputStream ("emp.properties") ؛ prop.load (fis) ؛ النتيجة = prop.getProperty (header) ؛ fis.close () ؛ } catch (استثناء e) {system.out.println (e) ؛ } نتيجة الإرجاع ؛ } // 针对消息作出响应 ، 利用反射导入对应的类 استجابة السلسلة العامة (رأس السلسلة ، محتوى السلسلة) {string result = null ؛ سلسلة s = فارغة ؛ جرب { / * 导入属性文件 emp.properties ، 查询 header 所对应 * * 的类的名字 通过反射机制动态加载匹配的类 ، 所有的类都 * * 被 عامل التشغيل 接口隔离 可以通过修改属性文件、添加新的类 (继 * * 承 msgoperator 接口) 来扩展协议 * / s = "org.bromon.reflect." + this.loadProtocal (header) ؛ // 加载类 class <؟> c = class.forname (s) ؛ // 创建类的事例 operator mo = (operator) c.newinstance () ؛ // 构造参数列表 class <؟> params [] = فئة جديدة [1] ؛ params [0] = class.forname ("java.util.list") ؛ // 查询 ACT 方法 الطريقة M = C.GetMethod ("ACT" ، params) ؛ قائمة <Tring> args = new ArrayList <String> () ؛ args.add (المحتوى) ؛ // 调用方法并且获得返回 Object ReturnObject = M.Invoke (MO ، args) ؛ قائمة <؟> list = (قائمة <؟>) returnObject ؛ System.out.println (list.get (0)) ؛ } catch (استثناء e) {system.out.println ("Handler-Response:" + e) ؛ } نتيجة الإرجاع ؛ } public static void main (String args []) {testReflect tr = new testReflect () ؛ Tr.Response ("2000" ، "消息内容") ؛ }}以上就是小编为大家带来的 Java 利用 Java 反射机制动态加载类的简单实现的全部内容了 , 希望对大家有所帮助 , 多多支持武林网 ~