javaµÄ·¢Éä»úÖÆ
Person p=new Person();
ÕâÊÇʲô?µ±È»ÊÇʵÀý»¯Ò»¸ö¶ÔÏóÁË.¿ÉÊÇÕâÖÖʵÀý»¯¶ÔÏóµÄ·½·¨´æÔÚÒ»¸öÎÊÌâ,ÄǾÍÊDZØÐëÒªÖªµÀÀàÃû²Å¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏó,ÕâÑùÎÒÃÇÔÚÓ¦Ó÷½Ãæ¾Í»áÊܵ½ÏÞÖÆ.ÄÇôÓÐûÓÐÕâÑùÒ»ÖÖ·½Ê½,ÈÃÎÒÃDz»ÖªµÀÕâ¸öÀàµÄÀàÃû¾Í¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏóÄØ?Thank Goodness!ÐÒ¿÷ÎÒÃÇÓõÄÊÇjava, java¾ÍÌṩÁËÕâÑùµÄ»úÖÆ.
1).java³ÌÐòÔÚÔËÐÐʱ¿ÉÒÔ»ñµÃÈκÎÒ»¸öÀàµÄ×Ö½ÚÂëÐÅÏ¢,°üÀ¨ÀàµÄÐÞÊηû(public,staticµÈ),»ùÀà(³¬Àà,¸¸Àà),ʵÏֵĽӿÚ,×ֶκͷ½·¨µÈÐÅÏ¢.
2).java³ÌÐòÔÚÔËÐÐʱ¿ÉÒÔ¸ù¾Ý×Ö½ÚÂëÐÅÏ¢À´´´½¨¸ÃÀàµÄʵÀý¶ÔÏó,¸Ä±ä¶ÔÏóµÄ×Ö¶ÎÄÚÈݺ͵÷ÓöÔÏó·½·¨.
ÕâÑùµÄ»úÖƾͽз´Éä¼¼Êõ.¿ÉÒÔÏëÏó¹âѧÖеķ´Éä,¾ÍÏñÎÒÃÇÕÕ¾µ×Ó,¾µ×ÓÖÐÓÖ³öÏÖÒ»¸ö×Ô¼º(±ÈÓ÷¿ÉÄܲ»Ì«Ç¡µ±,µ«ÊÇ×ãÒÔ±í´ïÇå³þÒâ˼ÁË).·´Éä¼¼ÊõÌṩÁËÒ»ÖÖͨÓõĶ¯Ì¬Á¬½Ó³ÌÐò×é¼þµÄ·½·¨,²»±ØÒª°Ñ³ÌÐòËùÐèÒªµÄÄ¿±êÀàÓ²±àÂëµ½Ô´³ÌÐòÖÐ,´Ó¶øʹµÃÎÒÃÇ¿ÉÒÔ´´½¨Áé»îµÄ³ÌÐò.
JavaµÄ·´Éä»úÖÆÊÇͨ¹ý·´ÉäAPIÀ´ÊµÏÖµÄ,ËüÔÊÐí³ÌÐòÔÚÔËÐйý³ÌÖÐÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄÀàµÄÄÚ²¿ÐÅÏ¢.·´ÉäAPIλÓÚjava.lang.reflect°üÖÐ.Ö÷Òª°üÀ¨ÒÔϼ¸Àà:
1).ConstructorÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ¹¹Ôì·½·¨
2).FieldÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ³ÉÔ±±äÁ¿
3).MethodÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ·½·¨.
4).ModiferÀà:ÓÃÀ´ÃèÊöÀàÄÚ¸÷ÔªËصÄÐÞÊηû
5).Array:ÓÃÀ´¶ÔÊý×é½øÐвÙ×÷.
Constructor,Field,MethodÕâÈý¸öÀ඼ÊÇJVM(ÐéÄâ»ú)ÔÚ³ÌÐòÔËÐÐʱ´´½¨µÄ,ÓÃÀ´±íʾ¼ÓÔØÀàÖÐÏàÓ¦µÄ³ÉÔ±.ÕâÈý¸öÀ඼ʵÏÖÁËjava.lang.reflect.Member½Ó¿Ú,Member½Ó¿Ú¶¨ÒåÁË»ñÈ¡Àà³ÉÔ±»ò¹¹Ôì·½·¨µÈÐÅÏ¢µÄ·½·¨.ҪʹÓÃÕâЩ·´ÉäAPI,±ØÐëÏȵõ½Òª²Ù×÷µÄ¶ÔÏó»òÀàµÄClassÀàµÄʵÀý.ͨ¹ýµ÷ÓÃClassÀàµÄnewInstance·½·¨(Ö»Äܵ÷ÓÃÀàµÄĬÈϹ¹Ôì·½·¨)¿ÉÒÔ´´½¨ÀàµÄʵÀý.ÕâÑùÓоÖÏÞÐÔ,ÎÒÃÇ¿ÉÒÔÏȳåÀàµÄClassʵÀý»ñÈ¡ÀàÐèÒªµÄ¹¹Ôì·½·¨,È»ºóÔÚÀûÓ÷´ÉäÀ´´´½¨ÀàµÄÒ»¸öʵÀý.
Ò».»ñÈ¡ÀàµÄ¹¹Ôì·½·¨µÄConstructor¶ÔÏó(Êý×é)
¡ñ Constructor[] getDeclaredConstructors();·µ»ØÒѼÓÔØÀàÉùÃ÷µÄËùÓеĹ¹Ôì·½·¨µÄConstructor¶ÔÏóÊý×é.
¡ñ Constructor getDeclaredConstructor(Class[] paramTypes);·µ»ØÒѼÓÔØÀàÉùÃ÷µÄÖ¸¶¨¹¹Ôì·½·¨µÄConstructor¶ÔÏó,paramTypesÖ¸¶¨Á˲ÎÊýÀàÐÍ.
¡ñ Constructor[] getConstructors();·µ»ØÒѼÓÔØÀàÉùÃ÷µÄËùÓеÄpublicÀàÐ͵Ĺ¹Ôì·½·¨µÄConstructor¶ÔÏóÊý×é.
¡ñ Constructor getConstructor(Class[] paramTypes);·µ»ØÒѼÓÔØÀà
Ïà¹ØÎĵµ£º
Reflection ÊÇJava±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ¡£Õâ¸ö»úÖÆÔÊÐí³ÌÐòÔÚÔËÐÐʱ͸¹ýReflection APIsÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄclass
µÄÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers£¨ÖîÈçpublic, static µÈµÈ£©¡¢superclass£¨ÀýÈçObject£©¡¢ÊµÏÖÖ®interfaces£¨ÀýÈçCloneable£©£¬Ò²°üÀ¨fields
ºÍmethodsµÄËùÓÐÐÅÏ ......
ְλÃèÊö£º
1¡¢°´USECASE½øÐÐÒµÎñÐèÇó·ÖÎöºÍÈí¼þ¸ÅÒªÉè¼Æ£»
2¡¢½øÐÐÈí¼þÏêϸÉè¼ÆºÍ±àÂëʵÏÖ£¬È·±£ÐÔÄÜ¡¢ÖÊÁ¿ºÍ°²È«£»
3¡¢Î¬»¤ºÍÉý¼¶ÏÖÓÐÈí¼þ²úÆ·£¬¿ìËÙ¶¨Î»²¢ÐÞ¸´ÏÖÓÐÈí¼þȱÏÝ¡£
ְλҪÇó£º
1¡¢¾«Í¨Web±à³Ì£¬3ÄêÒÔÉÏʹÓÃJavaÓïÑÔ½øÐÐweb¿ª·¢µÄ¾Ñ飬ÊìϤhtml£¬javascript¡£
2¡¢¾«Í¨jsp£¬servlet£¬java bean£¬JM ......
Java ÖÐÀàºÍ·½·¨ÐÞÊηû
ÀàµÄÐÞÊÎ
·ÃÎÊÐÞÊηû ÐÞÊηû class ÀàÃû extends ¸¸ÀàÃû³Æ implements ½Ó¿ÚÃû³Æ£¨notes: ·ÃÎÊÐÞÊηû·ûÓëÐÞÊηûµÄλÖÿÉÒÔ»¥»»£©
·ÃÎÊÐÞÊηû
Ãû³Æ
˵Ã÷
±¸×¢
pubic
¿ÉÒÔ±»ËùÓÐÀà·ÃÎÊ(ʹÓÃ)
public Àà±ØÐ붨ÒåÔÚºÍÀàÃûÏàͬµÄͬÃûÎļþÖÐ
package
¿ÉÒÔ±»Í¬Ò»¸ö°üÖеÄÀà·ÃÎÊ(ʹÓÃ)
ĬÈϵķÃÎ ......
ÔÚÀàÖж¨ÒåÁËÒ»¸öÊôÐÔabc£¬ÈçºÎ»ñÈ¡Õâ¸ö±äÁ¿µÄabcµÄÃû×Ö´®ÄØ£¿Ò²¾ÍÊÇ˵Ôõô֪µÀabcÕâ¸ö±äÁ¿µÄÃû×ÖÊÇabc£¬Õâ¸öÎÊÌâ±È½ÏµÄºÃÍæ¡£
Õâ¸öÊÇżÔÚÒ»¿ª·¢ÖÐÓöµ½µÄÒ»¸ö±È½ÏÓÐȤµÄÎÊÌ⣬ÕÒ ÁË°ëÌìµÄ×ÊÁϼÓÏÂżÐÁÇÚµÄ˼¿¼£¬ÖÕÓÚÕÒµ½µÄ½â¾ö·½·¨¡£Ó÷´Éä¡«¡«¡«
javaÌṩÁ˺ÜÇ¿´óµÄ·´Éä»úÖÆ£¬¿ÉÒÔ˵±È¶¯Ì¬ÓïÑÔ»¹¶¯Ì¬¡£µ«ÊÇÕâ¸ö¶«¶«Æ½Ê±µ ......