首先创建一个Message类,先设置三个属性,发送方、接收方、消息内容,代表所有的属性。
Message:
Message
package com.dr.QQ;
public class Message {
private String from;
private String to;
private String content;
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
然后创建一个QQ接口QQInterface,接口中包含QQ信息收发的方法。
QQInterface:
QQInterface
package com.dr.QQ;
public interface QQInterface {
void sendMsg(Message msg);
Message receiveMsg(Message msg );
}
然后创建QQ1,作为消息发送方,所以要实现QQInterface接口,重写发送信息的方法sendMsg。
QQ1:
QQ1
package com.dr.QQ;
public class QQ1 implements QQInterface{
public static void main(String[] args) {
}
public Message receiveMsg(Message content) {
return content;
}
public void sendMsg(Message content) {
Message msg = new Message();
msg.setFrom("QQ1");
msg.setTo("QQ2");
msg.setContent("Hello,i'm 1");
QQ1 q = new QQ1();
q.sendMsg(msg);
}
}
然后创建QQ1,作为消息接收方,所以要实现QQInterface接口,重写接收信息的方法receiveMsg。
QQ2:
QQ2
package com.dr.QQ;
public class QQ2 implements QQInterface{
public static void main(String[] args) {
}
public Message receiveMsg(Message content) {
String name = null;
Message msg = QQServer.asked(name);
return msg;
}
public void sendMsg(Message content) {
}
}
再然后便是QQServer服务器端,承担着qq信息的传递工作。
QQServer:
QQServer
package com.dr.QQ;
import java.util.HashMap;
import java.util.Map;
public class QQServer {
public static void main(String[] args) {
}
static Map<String ,Message> serverMap = new HashMap<String,Message>();
public static void ServerReceiveMsg(Message msg){
serverMap.put(msg.getTo(), msg);
}
public static Message asked(String name){
Message msg = serverMap.get(name);
return msg;
}
}
最后写一个测试类Test。
Test:
Test
package com.dr.QQ;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args){
Map<String,List<Message>> QQMap=new HashMap<String,List<Message>>();
List<Message> msgList=new ArrayList<Message>();
Message msg = new Message();
msg.setFrom("QQ1");
msg.setTo("QQ2");
msg.setContent("Hi !");
msgList.add(msg);
QQMap.put(msg.getTo(), msgList);
msg = new Message();
msg.setFrom("QQ1");
msg.setTo("QQ2");
msg.setContent("How are you ?");
msgList.add(msg);
QQMap.put(msg.getTo(), msgList);
List<Message> qq2List = QQMap.get("QQ2");
for(Message m:qq2List){
System.out.println(m.getContent());
}
}
}
运行测试类,查看结果:
posted on 2010-10-27 17:33
Mineralwasser 阅读(135)
评论(0) 编辑 收藏