´«ÖDz¥¿Í2009 12 24 ¶þ¡¢java»ù´¡¼ÓÇ¿(2)
Ò»¡¢·´É䣨Reflect£©
·´Éä¾ÍÊǰÑJavaÀàÖеĸ÷ÖֳɷÖÓ³Éä³ÉÒ»¸ö¸öµÄjava¶ÔÏó¡£ÀýÈ磬һ¸öÀàÓУº³ÉÔ±±äÁ¿£¬·½·¨£¬¹¹Ôì·½·¨£¬°üµÈµÈÐÅÏ¢£¬ÀûÓ÷´Éä¼¼Êõ¿ÉÒÔ¶ÔÒ»¸öÀà½øÐнâÆÊ£¬°Ñ¸÷¸ö×é³É²¿·ÖÓ³Éä³ÉÒ»¸ö¸ö¶ÔÏó¡£Ó³Éä³É¶ÔÏóºó£¬¾Í¿ÉÒÔµ÷ÓöÔÏóµÄ·½·¨¶ÔÆä²Ù×÷ÁË¡£Óë·´ÉäÏà¹ØµÄÖØÒªµÄÀàÓÐClass¡¢Constructor¡¢Method¡¢FieldµÈ¡£
Class ÀàµÄʵÀý±íʾÕýÔÚÔËÐÐµÄ Java Ó¦ÓóÌÐòÖеÄÀàºÍ½Ó¿Ú¡£Ã¶¾ÙÊÇÒ»ÖÖÀ࣬עÊÍÊÇÒ»ÖÖ½Ó¿Ú¡£Ã¿¸öÊý×éÊôÓÚ±»Ó³ÉäΪ Class ¶ÔÏóµÄÒ»¸öÀ࣬ËùÓоßÓÐÏàÍ¬ÔªËØÀàÐͺÍάÊýµÄÊý×é¶¼¹²Ïí¸Ã Class ¶ÔÏó¡£»ù±¾µÄ Java ÀàÐÍ£¨boolean¡¢byte¡¢char¡¢short¡¢int¡¢long¡¢float ºÍ double£©ºÍ¹Ø¼ü×Ö void Ò²±íʾΪ Class ¶ÔÏó¡£
Class ûÓй«¹²¹¹Ôì·½·¨¡£Class ¶ÔÏóÊÇÔÚ¼ÓÔØÀàʱÓÉ Java ÐéÄâ»úÒÔ¼°Í¨¹ýµ÷ÓÃÀà¼ÓÔØÆ÷ÖÐµÄ defineClass ·½·¨×Ô¶¯¹¹ÔìµÄ¡£
ض¨Ò壺
public final class Class<T>extends Objectimplements Serializable
, GenericDeclaration, Type, AnnotatedElement
ØÖØÒª·½·¨ÕªÒª
·µ»ØÖµ
·½·¨µÄÇ©Ãû
static Class<?>
forName(String className)
·µ»ØÓë´øÓиø¶¨×Ö·û´®ÃûµÄÀà»ò½Ó¿ÚÏà¹ØÁªµÄ Class ¶ÔÏó¡£
Annotation[]
getAnnotations() ·µ»Ø´ËÔªËØÉÏ´æÔÚµÄËùÓÐ×¢ÊÍ¡£
ClassLoader
getClassLoader() ·µ»Ø¸ÃÀàµÄÀà¼ÓÔØÆ÷¡£
Constructor<T>
getConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏó£¬Ëü·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÖ¸¶¨¹«¹²¹¹Ôì·½·¨¡£
Constructor<T>
getDeclaredConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨¹¹Ôì·½·¨¡£
Field[]
getDeclaredFields()
·µ»Ø Field ¶ÔÏóµÄÒ»¸öÊý×飬ÕâЩ¶ÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚËùÉùÃ÷µÄËùÓÐ×ֶΣ¬°üÀ¨¹«¹²¡¢±£»¤¡¢Ä¬ÈÏ£¨°ü£©·ÃÎʺÍ˽ÓÐ×ֶΣ¬µ«²»°üÀ¨¼Ì³ÐµÄ×ֶΡ£
Method
getDeclaredMethod(String name, Class... parameterTypes)
·µ»ØÒ»¸ö Method ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨ÒÑÉùÃ÷·½·¨¡£
T
newInstance() ´´½¨´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÒ»¸öÐÂʵÀý¡£
String
getName()
ÒÔ Strin
Ïà¹ØÎĵµ£º
Ò»£º×¼±¸ www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
1. build vserv-tcpip-0.9.2-src
ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......
Ḭ̈߳²È«µÄ¼¯ºÏ°üº¬2¸öÎÊÌâ
1.¶àÏ̲߳¢·¢ÐÞ¸ÄÒ» ¸ö ¼¯ºÏ Ôõô°ì£¿
2.Èç¹ûµü´úµÄ¹ý³ÌÖÐ ¼¯ºÏ ±»ÐÞ¸ÄÁËÔõô°ì£¿
a.Ò»¸öÏß³ÌÔÚµü´ú£¬ÁíÒ»¸öÏß³ÌÔÚÐÞ¸Ä
b.ÔÚͬһ¸öÏß³ÌÄÚÓÃͬһ¸öµü´úÆ÷¶ ......
Ê®¶þ javaÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(ÀàµÄ¼Ì³Ð)
/**
* ÀàµÄ¼Ì³Ð
*/
class Person
{
private String name;
private int age;
public String setName(String name){this.name = name;return name;}
public int setAge(int age){this.age = age;return age;}
public void getInfo ......
Ê®Èý javaÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(³õʼ»¯A)
/**
* ³õʼ»¯(Ò»)
* ³ÉÔ±±äÁ¿ºÍ¹¹Ôì»úµÄ³õʼ»¯¹ý³Ì
* 1,³ÉÔ±±äÁ¿µÄ³õʼ»¯:
* 2,¹¹Ôì·½·¨µÄÖ´ÐÐ˳Ðò:
* 3,¾²Ì¬³ÉÔ±µÄÖ´ÐÐ˳Ðò;
* 4,¾²Ì¬´úÂë¿éµÄÖ´ÐÐ˳Ðò;
*/
/* Ò»,³ÉÔ±³õʼ»¯ */
class MemberInitialization
{
/*1,×Ô¶¯³ ......