Java·´Éä¾µäʵÀý Java Reflection Cookbook (ת)
JavaÌṩÁËÒ»Ì×»úÖÆÀ´¶¯Ì¬Ö´Ðз½·¨ºÍ¹¹Ôì·½·¨£¬ÒÔ¼°Êý×é²Ù×÷µÈ£¬ÕâÌ×»úÖÆ¾Í½Ð——·´Éä¡£·´Éä»úÖÆÊÇÈç½ñºÜ¶àÁ÷Ðпò¼ÜµÄʵÏÖ»ù´¡£¬ÆäÖаüÀ¨Spring¡¢HibernateµÈ¡£ÔÀíÐÔµÄÎÊÌâ²»ÊDZ¾ÎĵÄÖØµã£¬½ÓÏÂÀ´ÈÃÎÒÃÇÔÚʵÀýÖÐѧϰÕâÌ×¾«²ÊµÄ»úÖÆ¡£
1. µÃµ½Ä³¸ö¶ÔÏóµÄÊôÐÔ
1 public Object getProperty(Object owner, String fieldName) throws Exception {
2 Class ownerClass = owner.getClass();
3
4 Field field = ownerClass.getField(fieldName);
5
6 Object property = field.get(owner);
7
8 return property;
9 }
Class ownerClass = owner.getClass()£ºµÃµ½¸Ã¶ÔÏóµÄClass¡£
Field field = ownerClass.getField(fieldName)£ºÍ¨¹ýClassµÃµ½ÀàÉùÃ÷µÄÊôÐÔ¡£
Object property = field.get(owner)£ºÍ¨¹ý¶ÔÏóµÃµ½¸ÃÊôÐÔµÄʵÀý£¬Èç¹ûÕâ¸öÊôÐÔÊǷǹ«Óеģ¬ÕâÀï»á±¨IllegalAccessException¡£
2. µÃµ½Ä³¸öÀàµÄ¾²Ì¬ÊôÐÔ
1 public Object getStaticProperty(String className, String fieldName)
2 throws Exception {
3 Class ownerClass = Class.forName(className);
4
5 Field field = ownerClass.getField(fieldName);
6
7 Object property = field.get(ownerClass);
8
9 return property;
10 }
Class ownerClass = Class.forName(className) £ºÊ×Ïȵõ½Õâ¸öÀàµÄClass¡£
Field field = ownerClass.getField(fieldName)£ººÍÉÏÃæÒ»Ñù£¬Í¨¹ýClassµÃµ½ÀàÉùÃ÷µÄÊôÐÔ¡£
Object property = field.get(ownerClass) £ºÕâÀïºÍÉÏÃæÓÐЩ²»Í¬£¬ÒòΪ¸ÃÊôÐÔÊǾ²Ì¬µÄ£¬ËùÒÔÖ±½Ó´ÓÀàµÄClassÀïÈ¡¡£
3. Ö´ÐÐij¶ÔÏóµÄ·½·¨
1 public Object invokeMethod(Object owner, Str
Ïà¹ØÎĵµ£º
public class Base64 {
//Âë±í
static private char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
.toCharArray();
&nb ......
ÔÚJavaÖÐÓÐÁ½ÖÖ²»Í¬µÄ¶Ô±äÁ¿¸³Öµ·½Ê½£¬Ò»ÖÖÊÇÖ±½Ó½«Ò»¸öÖµ¸³¸ø±äÁ¿¡£ÀýÈ磺
int a = 1;
String s = "abc";
Integer in = 125;
ÁíÍâÒ»ÖÖÊÇ´´½¨Ò»¸ö¶ÔÏ󣬲¢½«Æä¸³¸øÒ»¸ö±äÁ¿¡£ÀýÈ磺
String s = new String("abc")
Integer in = new Integer(125);
Á½ÖÖ·½Ê½µÄ²»Í¬Ö®´¦ÔÚÓÚ£º
µÚÒ»ÖÖ·½Ê½±äÁ¿µÄÖµ´æ´¢ÔÚ¶ÑÕ»ÖУ¬µ±ÏÂÒ» ......
±¾ÎĽ²Êö³ÌÐò¿ª·¢ÕßÔõÑùʹÓÃNetBeans 6.8 IDEºÍJavaFX¼¼Êõ´´½¨ËûÃǵĵÚÒ»¸öJavaFXÓ¦ÓóÌÐò¡£ÔÚÎÄÕÂÖУ¬ÎÒÃǽ«´´½¨Ò»¸ö¼òµ¥µÄ´øÓÐÎı¾µÄÇòÌå¡£¸ÃÇòÌåÔÚÒ»¸öÌØ¶¨µÄʱ¼äÖÜÆÚÄڸıäÆä͸Ã÷¶È¡£Ä㻹¿ÉÒÔʹÓÃÊó±êÍ϶¯ÇòÌå¡£
ͬÑùµÄÔÒò£¬ÒòΪÎÄÄÚÓкܶà²Ù×÷½ØÍ¼£¬ÕâÀï²åÈëºÜ²»·½±ã£¬ ......
1¡¢Timer½éÉÜ
½¨Á¢ÈÎÎñ£ºÊ¹ÓÃTimerµ÷¶ÈµÄÈÎÎñÓ¦¸Ã¼Ì³ÐTimerTask³éÏóÀ࣬¸ÃÀàʵÏÖRunnable½Ó¿Ú£¬ÒòЩ¾ß±¸¶àÏ̵߳ÄÄÜÁ¦£¬ÊµÏָýӿڵÄrun·½·¨£¬¸Ã·½·¨ÊÇÐèÒª¸ß¶ÈµÄÈÎÎñÖ´ÐÐÌå¡£
µ÷¶ÈÈÎÎñ£ºµ÷¶ÈÈÎÎñͨ¹ýTimerÀàÍê³É,µ÷¶ÈÈÎÎñͨ¹ýschedul·½·¨Íê³É£¬²éÒ»ÏÂjava docÎĵµ:
Java´úÂë
void schedule(TimerTask task, Date tim ......
¸÷ÖÖ²»Í¬µÄJava °æ±¾£¬ÔÚÆäÖ§Ô®µÄºËÐÄÀà±ðº¯Ê½¿âÖ®ÍêÕûÐÔÒÔ¼°ËùÖ§Ô®µÄ Java »ù±¾ÐͱðÕâÁ½¼þÊÂÇéÉ϶¼ÓÐËù²îÒ죬Ҳ¾ÍÊÇ˵£¬²»¹ÜÄú¿ª·¢µÄÊÇÆóÒµËùʹÓõÄJava ³ÌÐò¡¢Ç¶ÈëʽװÖÃÉÏÖ´ÐеÄJava ³ÌÐò¡¢ä¯ÀÀÆ÷ÉÏÖ´ÐеÄApplet £¬»òÊÇÔÚPC ÉÏÖ´ÐеÄÓ¦ÓóÌÐò¡£Äú¶¼±ØÐëÔÚÄúµÄµçÄÔÉÏÏȰ²×° J2SE £¬È»ááÔÙ°²×°¸÷ÖÖ°æ±¾µÄºËÐÄÀà± ......