小弟刚接触java不久,看不懂这个程序,烦请大神帮我注释一下,非常感谢!!!
class Message{
Object obj;
}
class MessageQueue{
LinkedList<Message> list=
new LinkedList<Message>();
}
class Looper{
MessageQueue mq;
private Handler handler;
public void setHander(Handler handler) {
this.handler = handler;
}
public Looper(){
mq=new MessageQueue();
}
public void loop(){
for(;;){
if(mq.list.isEmpty()){
try{Thread.sleep(3000);}catch(Exception e){}
continue;
}
Message msg=mq.list.removeFirst();
handler.handleMessage(msg);
}
}
}
class Handler{
private Looper looper;
public Handler(Looper looper){
this.looper=looper;
looper.setHander(this);
}
public void sendMessage(Message msg){
this.looper.mq.list.add(msg);
}
public void handleMessage(Message msg){
System.out.println(msg.obj);
}
}
public class Test {
public static void main(String[] args) {
Message msg=new Message();
msg.obj="hello";
Looper looper=new Looper();
Handler h=new Handler(looper){
public void handleMessage(Message msg) {
System.out.println(((String)msg.obj).toUpperCase());
};
};
h.sendMessage(msg);
looper.loop();
}
}