一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java 利用java反射機制動態(tài)加載類的簡單實現(xiàn)

java 利用java反射機制動態(tài)加載類的簡單實現(xiàn)

2020-06-17 12:06服務器之家 JAVA教程

下面小編就為大家?guī)硪黄猨ava 利用java反射機制動態(tài)加載類的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如下所示:

java" id="highlighter_668477">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
////////////////// Load.java
 
package org.bromon.reflect;
 
import java.util.ArrayList;
import java.util.List;
 
public class Load implements Operator {
 
 @Override
 public List<?> act(List<?> params) {
 // TODO Auto-generated method stub
 List<String> result=new ArrayList<String>();
 result.add(new String("加載成功"));
 return result;
 }
 
}
 
/////////////////// Operator.java
 
package org.bromon.reflect;
import java.util.*;
 
public interface Operator {
 public List<?> act(List<?> params);
}
 
 
/////////////Store.java
 
package org.bromon.reflect;
 
import java.util.ArrayList;
import java.util.List;
 
 
public class Store implements Operator {
 
 @Override
 public List<?> act(List<?> params) {
 // TODO Auto-generated method stub
 List<String> result=new ArrayList<String>();
 result.add(new String("Store"));
 return result;
 }
 
}
 
///////////////Success.java
 
package org.bromon.reflect;
 
import java.util.List;
import java.util.ArrayList;
 
 
public class Success implements Operator {
 
 @Override
 public List<?> act(List<?> params) {
 // TODO Auto-generated method stub
 List<String> result=new ArrayList<String>();
 result.add(new String("操作成功"));
 return result;
 }
}
 
 
////////////////////////TestReflect.java
 
package org.bromon.reflect;
 
import java.io.FileInputStream;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Properties;
import java.util.List;
 
public class TestReflect {
 private String loadProtocal(String header) {
 String result = null;
 try {
  Properties prop = new Properties();
  FileInputStream fis = new FileInputStream("emp.properties");
  prop.load(fis);
  result = prop.getProperty(header);
  fis.close();
 } catch (Exception e) {
  System.out.println(e);
 }
 return result;
 }
 
 // 針對消息作出響應,利用反射導入對應的類
 public String response(String header, String content) {
 String result = null;
 String s = null;
 try {
  /*
  * 導入屬性文件emp.properties,查詢header所對應
  *
  * 的類的名字 通過反射機制動態(tài)加載匹配的類,所有的類都
  *
  * 被Operator接口隔離 可以通過修改屬性文件、添加新的類(繼
  *
  * 承MsgOperator接口)來擴展協(xié)議
  */
  s = "org.bromon.reflect." + this.loadProtocal(header);
  // 加載類
  Class<?> c = Class.forName(s);
  // 創(chuàng)建類的事例
  Operator mo = (Operator) c.newInstance();
  
  // 構(gòu)造參數(shù)列表
  Class<?> params[] = new Class[1];
  params[0] = Class.forName("java.util.List");
  
  // 查詢act方法
  Method m = c.getMethod("act", params);
  List<String> args = new ArrayList<String>();
  args.add(content);
  
  // 調(diào)用方法并且獲得返回
  Object returnObject = m.invoke(mo, args);
  List<?> list=(List<?>)returnObject;
  System.out.println(list.get(0));
 } catch (Exception e) {
  System.out.println("Handler-response:" + e);
 }
 return result;
 }
 public static void main(String args[]) {
 TestReflect tr = new TestReflect();
 tr.response("2000", "消息內(nèi)容");
 }
}

以上就是小編為大家?guī)淼膉ava 利用java反射機制動態(tài)加載類的簡單實現(xiàn)的全部內(nèi)容了,希望對大家有所幫助,多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91九色porny国产美女一区 | 国模孕妇季玥全部人体写真 | 喜马拉雅听书免费版 | 调教开发新婚娇妻放荡 | 欧美一级激情 | 色综合色狠狠天天综合色 | 小柔的性放荡羞辱日记动漫 | caoporm碰最新免费公开视频 | 欧美性高清另类videosex死尸 | 九九精品视频在线观看九九 | 九九九九在线精品免费视频 | bl双性小说 | 国内小情侣一二三区在线视频 | 国产综合亚洲欧美日韩一区二区 | 毛片在线网址 | 视频一本大道香蕉久在线播放 | 天天爱天天操天天射 | 猥琐对着美女飞机喷到脸上 | 胸奶好大好紧好湿好爽 | 动漫美女被褥吸奶漫画漫画 | 大片毛片女女女女女女女 | 国产伦精品一区二区三区免费观看 | 亚洲剧情在线 | 91国内精品 | 天堂资源在线www中文 | 精品一区二区三区视频 | 欧美3p大片在线观看完整版 | 亚洲日日操| 狠狠躁夜夜躁人人爽天天miya | 国产视频福利 | 欧洲美女女同 | 国产专区一va亚洲v天堂 | 大陆国产精品视频 | 免费在线观看伦理片 | 4hc44四虎永久地址链接 | 欧美视频一区二区三区在线观看 | 国偷盗摄自产福利一区在线 | 国产探花在线视频 | 国产成人亚洲精品乱码在线观看 | 国产好深好硬好爽我还要视频 | ass性强迫rape |