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

服務器之家:專注于服務器技術(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午夜视频 | 女医学护士一级毛片 | 亚洲国产精品91 | 国产农村一级特黄α真人毛片 | 亚洲精品www久久久久久久软件 | 国产精品露脸国语对白河北 | 亚洲色图首页 | 天堂网www在线观看 天堂欧美 | a级片欧美| 精品国产一级毛片大全 | 白发在线视频播放观看免费 | 亚洲va久久久噜噜噜久久狠狠 | 高h辣文小说网 烧书阁 | 国产欧美视频一区二区三区 | 短篇艳妇系列 | 拍拍叫痛的无挡视频免费 | 日本高清全集免费观看 | 無码一区中文字幕少妇熟女H | 欧美日韩成人在线 | 欧美综合亚洲图片综合区 | 国产一二区视频 | 插鸡网站 | 久久精品视频免费 | katsumi精品hd | 色先锋 影音先锋a 资源站 | 国产亚洲精品日韩香蕉网 | 亚洲第一免费播放区 | 国产大片视频免费观看 | 啪啪无尽3d动漫漫画免费网站 | 2019中文字幕在线视频 |