java·´Éä»úÖÆ
JAVA·´Éä»úÖÆ
JAVA·´Éä»úÖÆÊÇÔÚÔËÐÐ״̬ÖУ¬¶ÔÓÚÈÎÒâÒ»¸öÀ࣬¶¼Äܹ»ÖªµÀÕâ¸öÀàµÄËùÓÐÊôÐԺͷ½·¨£»¶ÔÓÚÈÎÒâÒ»¸ö¶ÔÏ󣬶¼Äܹ»µ÷ÓÃËüµÄÈÎÒâÒ»¸ö·½·¨£»ÕâÖÖ¶¯Ì¬»ñÈ¡µÄÐÅÏ¢ÒÔ¼°¶¯Ì¬µ÷ÓöÔÏóµÄ·½·¨µÄ¹¦ÄܳÆÎªjavaÓïÑԵķ´Éä»úÖÆ¡£
Java·´Éä»úÖÆÖ÷ÒªÌṩÁËÒÔϹ¦ÄÜ£º ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸ö¶ÔÏóËùÊôµÄÀࣻÔÚÔËÐÐʱ¹¹ÔìÈÎÒâÒ»¸öÀàµÄ¶ÔÏó£»ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸öÀàËù¾ßÓеijÉÔ±±äÁ¿ºÍ·½·¨£»ÔÚÔËÐÐʱµ÷ÓÃÈÎÒâÒ»¸ö¶ÔÏóµÄ·½·¨£»Éú³É¶¯Ì¬´úÀí¡£
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&n
Ïà¹ØÎĵµ£º
Òì³£
Òì³£´æÔÚµÄÄ¿µÄ
¿´Ò»ÏÂCÓïÑԵijö´í´¦Àí·½Ê½
int f() {
f1();
f2():
f3();
}//Èç¹ûÔÚÿ¸öº¯Êýºó¶¼Ôö¼Ó³ö´íµÄÅжÏ(Èç¹ûÊÇÕý³£Âß¼¿ÉÒÔ×ß²»Í¬µÄ·ÖÖ§)²¢ÊÍ·Å×ÊÔ´£¬ÄÇÕâ¸öº¯ÊýÄÚ»áÓÐÌ«¶àÓëÖ÷¸ÉÎÞ¹ØÓ°ÏìÇåÎúÔĶÁµÄ´úÂë´æÔÚ£¬¶øÇÒ¹ý¶àreturnÓÐʱ»áʹµÃ×ÊÔ´µ ......
2009ÄêµÄ12ÔÂ22ÈÕ£¬ÎÒ´Ó¹«Ë¾´ÇÖ°ÁË£¬ÒòΪûÓз¢Õ¹Ç°Í¾£¬2009Äê12ÔÂ24ÈÕ£¬ÎÒÀ´µ½ÁË´«ÖDz¥¿ÍÉÏJAVAµÄÔ¤ÈȰ࣬ÕâÆÚ°àÊǸöºÍÉа࣬ûÓÐÒ»¸öÅ®Éú£¬¸Ð¾õÆø·Õ»¹²»´í£¬Ã¿Ìì´ó¼Ò¶¼ÔÚÒ»Æðѧϰ£¬¸ú×ÅÀÏÐìÉϿΣ¬Ï¿ÎÊǸçÃÇ£¬Ò»Æð³é³éÑÌ£¬ÁÄÁÄJAVA£¬¾ÍÕâÑùÒ»¸ö°ëÔµÄÔ¤ÈȰà¾Í½áÊøÁË¡£
¸ÐлÐìÀÏʦµÄ½Ìµ¼£¬¸Ðл°àÀïµÄ¸÷λͬѧµÄ°ïÖú£¬¹þ¹þ ......
¹Ø¼ü×Ö: java¶àÏß³ÌÀý×Ó
µ½ÕâÀïÎÒÃÇ×öÒ»¸öÍêÕûµÄÀý×ÓÀ´ËµÃ÷Ï̲߳úÉúµÄ·½Ê½²»Í¬¶øÉú³ÉµÄÏ̵߳ÄÇø±ð£º
package debug;
import java.io.*;
import java.lang.Thread;
class MyThread extends Thread{
public int x = 0;
public void run(){
System.out.println(++x);
}
}
class R implements Runnable{ ......
×÷Õß:cleverpig(×÷ÕßµÄBlog:http://blog.matrix.org.cn/page/cleverpig
)
ÔÎÄ:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html
¹Ø¼ü×Ö:java,annotation,reflect
ÔĶÁÌáʾ£ºÎÄÖÐÌáµ½µÄ³ÌÐò³ÉÔ±»òÕß³ÌÐòÔªËØÊÇÒ»¸ö¸ÅÄָ×é³É³ÌÐò´úÂëµÄµ¥Ôª£ºÈçÀà¡¢·½·¨¡¢³ÉÔ±±äÁ¿¡£
Ò»¡¢Annotatio ......
ÀàµÄÊý¾Ý³ÉÔ±ÔÚδ±»³õʼ»¯Ê±»á±£Ö¤±»¸³ÓèĬÈÏÖµ
boolean false
char []
byte 0
short 0
int 0
long 0
float 0.0
double 0.0
reference null
1.Ö¸¶¨³õʼ»¯¡£ÔÚ¶¨ÒåÀà³ÉÔ±±äÁ¿µÄµØ·½ÎªÆä¸³Öµ£¬¿ÉÒÔͨ¹ýµ÷ÓÃij¸ö·½·¨À´Ìṩ³õʼֵ
µ«ÕâÑùÓиöÏÞÖÆ¾ÍÊÇÀàµÄ¶ÔÏó ......