Java Dynamic Proxy
import java.lang.reflect.*;
public class A extends Thread {
public static void main(String[] args) throws Exception{
CC cc = new CC();
HH hh = new HH(cc);
II ii = (II) Proxy.newProxyInstance(HH.class.getClassLoader(),
new Class[]{II.class},
hh);
System.out.println ("" + ii.getClass().getName());
ii.test();
}
}
interface II {
void test();
}
class CC implements II {
public void test() {
System.out.println ("this is cc");
}
}
class HH implements InvocationHandler {
Object obj;
HH(Object obj) {
this.obj = obj;
}
public Object invoke(Object obj, Method m, Object[] args) throws Exception {
System.out.println ("start");
Object o = m.invoke(this.obj, args);
System.out.println ("end");
return o;
}
}
ÔËÐÐʱ¼ÓÈë -Dsun.misc.ProxyGenerator.saveGeneratedFiles=true£¬¿ÉÒԵõ½proxy class¡£
²Î¿¼£ºhttp://www.javablogging.com/what-is-java-dynamic-proxies-api/
Ïà¹ØÎĵµ£º
/*****************Animal.java begin ***********************/
public class Animal{
public void jj(){
}
public static void main(String args[]){
//±àÒëʱÀàÐÍ //ÔËÐÐʱÀàÐÍ
Animal anima ......
Ò»°ã½ø¶ÈÌõʹÓÃÊǸøÓû§Ò»ÖÖÓѺÃÌáʾ£¬ÈÃÓû§¸Ð¾õÕâ¸öÊÂÇéÕýÔÚ×ö£¬¶ø²»ÊÇϵͳûÓз´Ó¦ÁË£»
JProgressBarµÄ´úÂëÎĵµ´ó¼Ò¿ÉÒԲο¼JDK1.6£¬±ÈÈç¹¹Ô캯ÊýÓÐÄÄЩ£¬³£Óõķ½·¨ÓÐÄÄЩÔڴ˾Ͳ»¶àÐðÊö£»
Ò»°ãʹÓÃÇé¿öÊÇ£¬µã»÷°´Å¥ÊÇ×öÒ»¼þÊÂÇ飬±ÈÈ籸·Ý£¬½ø¶ÈÌõ³öÏÖ²¢Ôö¼Ó½ø¶È±íʾÕýÔÚ½øÐлòµ½Ê²Ã´³Ì¶È£¬ÊÂÇé½áÊøÊ±£¬½ø¶ÈÌõÏÔʾÂú ......
ÎÄ˼ÐÅÏ¢¼¼ÊõÓÐÏÞ¹«Ë¾www.vanceinfo.com£¨Å¦½»ËùÉÏÊдúÂ룺VIT£©³ÉÁ¢ÓÚ1995Ä꣬ÊÇÒ»¼ÒÐÅÏ¢¼¼Êõ·þÎñÌṩÉ̼°ÔÚÖйú¾ÓÁìÏȵØÎ»µÄÀë°¶Èí¼þ¿ª·¢¹«Ë¾Ö®Ò»¡£ÎÄ˼ÊǵÚÒ»¼ÒÔÚŦԼ¹ÉƱ½»Ò×ËùÉÏÊеÄÖйúÈí¼þ·þÎñÍâ°üÆóÒµ¡£¾Ý¹ú¼ÊÊý¾Ý¹«Ë¾(IDC)µÄͳ¼Æ, ÒÔ2007ÄêÏúÊÛ¶îºâÁ¿, ÎÄ˼ÐÅÏ¢¼¼ÊõÔÚΪŷÃÀÊг¡ÌṩÀë°¶Èí¼þ¿ª·¢ÐÐÒµÖÐλ¾ÓÖйúµÚÒ ......
java½Ó¿ÚʵÏÖ
¶Ô³õѧÕßÀ´Ëµ£¬½Ó¿Ú²»ÊǺܺÃÀí½â¡£ÏÖ½«Ä³¸ßÊÖµÄһƪÎÄÕÂÌù³öÀ´£¬¹²´ó¼Ò·ÖÏí£¡
ÎÒÃÇÀ´¿´Ò»¸öÀà
class A {
private int a;
public int getA() {
return a;
}
}
Õâ¸öÀàµÄÊôÐÔÊÇ˽Óеģ¬Íâ½ç²»ÄÜ·ÃÎÊ£¬¶øÍâ½ç¿ÉÒÔͨ¹ý¹«Óз½·¨À´·ÃÎÊÕâ¸öÀà¡£ÎÒÃÇ˵һ¸öÀàµÄ¹«Óз½
·¨¾ÍÊÇÕâ¸öÀàµÄ¶ÔÍâ½Ó¿Ú¡£Í¨³£
......