private boolean checkMessage(String msg) {
  return msg != null && msg.length() > 10;
 }
}

// ??????
public class MainClass {
 private static void runProxy(MessageHandler handler) {
  handler.sendMessage("message for test");
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  runProxy(new EmailMessage());
  System.out.println("++++++++++++++++Pjroxy++++++++++++++++++");
  runProxy(new MessageProxy());
 }
}

???????

????message for test send!!
????++++++++++++++++Pjroxy++++++++++++++++++
????message for test send!!
????Message sent:1

??????????????????????????????????????????????????????????????????滻?????????????罫???Email????????滻?????????????????????÷??????????????????κ?????????Щ?????????????????????????????????????????????????????????????????????????Щ???????????????????????????

???????????

????java?ж?????????????????????????????????????????????????????????????????????????????????е??á?Java?????????λ??Java.lang.reflect???£????????漰????????????

??????1??Interface InvocationHandler???y???н??????????????Object??invoke(Object obj??Method method?? Object[] args)??????????????????????obj????????????method????????????????????е?request()??args??÷???????????顣?????????????????ж??????

??????2??Proxy???????????????????????????????е?ProxySubject??????????????????????

????Protected Proxy(InvocationHandler h)????????????????????????h?????

????Static Class getProxyClass (ClassLoader loader?? Class[] interfaces)??????????????????loader???????????interfaces???????????е???????????顣

????Static Object newProxyInstance(ClassLoader loader?? Class[] interfaces?? InvocationHandler h)????????????????????????????????????????????????(???????????????Subject????????????????)??

??????νDynamic Proxy?????????class??????????????????class?????????????????????interface??????????class?????????????Щinterface???????????class???????????Щinterface?е??κ???????á???????????Dynamic Proxy????????Proxy?????????????????????????????????????????????????handler????????????????????????????????????????????????淢????????????