Java Reflection (JAVA·´Éä) Ïê½â
JavaÓïÑÔ·´ÉäÌṩһÖÖ¶¯Ì¬Á´½Ó³ÌÐò×é¼þµÄ¶à¹¦ÄÜ·½·¨¡£ËüÔÊÐí³ÌÐò´´½¨ºÍ¿ØÖÆÈκÎÀàµÄ¶ÔÏó(¸ù¾Ý°²È«ÐÔÏÞÖÆ)£¬ÎÞÐèÌáÇ°Ó²±àÂëÄ¿±êÀà¡£ÕâЩÌØÐÔʹµÃ·´ÉäÌرðÊÊÓÃÓÚ´´½¨ÒԷdz£ÆÕͨµÄ·½Ê½Óë¶ÔÏóÐ×÷µÄ¿â¡£ÀýÈ磬·´Éä¾³£ÔÚ³ÖÐø´æ´¢¶ÔÏóΪÊý¾Ý¿â¡¢XML»òÆäËüÍⲿ¸ñʽµÄ¿ò¼ÜÖÐʹÓá£Java reflection ·Ç³£ÓÐÓã¬ËüʹÀàºÍÊý¾Ý½á¹¹ÄÜ°´Ãû³Æ¶¯Ì¬¼ìË÷Ïà¹ØÐÅÏ¢£¬²¢ÔÊÐíÔÚÔËÐÐ×ŵijÌÐòÖвÙ×÷ÕâЩÐÅÏ¢¡£Java µÄÕâÒ»ÌØÐԷdz£Ç¿´ó£¬²¢ÇÒÊÇÆäËüһЩ³£ÓÃÓïÑÔ£¬Èç C¡¢C++¡¢Fortran »òÕß Pascal µÈ¶¼²»¾ß±¸µÄ¡£
µ«·´ÉäÓÐÁ½¸öȱµã¡£µÚÒ»¸öÊÇÐÔÄÜÎÊÌâ¡£ÓÃÓÚ×ֶκͷ½·¨½ÓÈëʱ·´ÉäÒªÔ¶ÂýÓÚÖ±½Ó´úÂë¡£ÐÔÄÜÎÊÌâµÄ³Ì¶ÈÈ¡¾öÓÚ³ÌÐòÖÐÊÇÈçºÎʹÓ÷´ÉäµÄ¡£Èç¹ûËü×÷Ϊ³ÌÐòÔËÐÐÖÐÏà¶ÔºÜÉÙÉæ¼°µÄ²¿·Ö£¬»ºÂýµÄÐÔÄܽ«²»»áÊÇÒ»¸öÎÊÌâ¡£¼´Ê¹²âÊÔÖÐ×Çé¿öϵļÆʱͼÏÔʾµÄ·´Éä²Ù×÷Ö»ºÄÓü¸Î¢Ãë¡£½ö·´ÉäÔÚÐÔÄܹؼüµÄÓ¦ÓõĺËÐÄÂß¼ÖÐʹÓÃʱÐÔÄÜÎÊÌâ²Å±äµÃÖÁ¹ØÖØÒª¡£
Ðí¶àÓ¦ÓÃÖиüÑÏÖصÄÒ»¸öȱµãÊÇʹÓ÷´Éä»áÄ£ºý³ÌÐòÄÚ²¿Êµ¼ÊÒª·¢ÉúµÄÊÂÇé¡£³ÌÐòÈËԱϣÍûÔÚÔ´´úÂëÖп´µ½³ÌÐòµÄÂß¼£¬·´ÉäµÈÈƹýÁËÔ´´úÂëµÄ¼¼Êõ»á´øÀ´Î¬»¤ÎÊÌâ¡£·´Éä´úÂë±ÈÏàÓ¦µÄÖ±½Ó´úÂë¸ü¸´ÔÓ£¬ÕýÈçÐÔÄܱȽϵĴúÂëʵÀýÖп´µ½µÄÒ»Ñù¡£½â¾öÕâЩÎÊÌâµÄ×î¼Ñ·½°¸ÊDZ£ÊصØʹÓ÷´Éä——½öÔÚËü¿ÉÒÔÕæÕýÔö¼ÓÁé»îÐԵĵط½——¼Ç¼ÆäÔÚÄ¿±êÀàÖеÄʹÓá£
¡¡ ReflectionÊÇJava ³ÌÐò¿ª·¢ÓïÑÔµÄÌØÕ÷Ö®Ò»£¬ËüÔÊÐíÔËÐÐÖÐµÄ Java ³ÌÐò¶Ô×ÔÉí½øÐмì²é£¬»òÕß˵"×ÔÉó"£¬²¢ÄÜÖ±½Ó²Ù×÷³ÌÐòµÄÄÚ²¿ÊôÐÔ¡£ÀýÈ磬ʹÓÃËüÄÜ»ñµÃ Java ÀàÖи÷³ÉÔ±µÄÃû³Æ²¢ÏÔʾ³öÀ´¡£
¡¡¡¡Java µÄÕâÒ»ÄÜÁ¦ÔÚʵ¼ÊÓ¦ÓÃÖÐÒ²ÐíÓõò»ÊǺܶ࣬µ«ÊÇÔÚÆäËüµÄ³ÌÐòÉè¼ÆÓïÑÔÖиù±¾¾Í²»´æÔÚÕâÒ»ÌØÐÔ¡£ÀýÈ磬Pascal¡¢C »òÕß C++ ÖоÍûÓа취ÔÚ³ÌÐòÖлñµÃº¯Êý¶¨ÒåÏà¹ØµÄÐÅÏ¢¡£
¡¡¡¡JavaBean ÊÇ reflection µÄʵ¼ÊÓ¦ÓÃÖ®Ò»£¬ËüÄÜÈÃһЩ¹¤¾ß¿ÉÊÓ»¯µÄ²Ù×÷Èí¼þ×é¼þ¡£ÕâЩ¹¤¾ßͨ¹ý reflection ¶¯Ì¬µÄÔØÈ벢ȡµÃ Java ×é¼þ(Àà) µÄÊôÐÔ¡£
1. Ò»¸ö¼òµ¥µÄÀý×Ó
¡¡¡¡¿¼ÂÇÏÂÃæÕâ¸ö¼òµ¥µÄÀý×Ó£¬ÈÃÎÒÃÇ¿´¿´ reflection ÊÇÈçºÎ¹¤×÷µÄ¡£
import java.lang.reflect.*;
public class DumpMethods {
public static void main(String args[]) {
try {
Class c = Class.forName(args[0]);
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString(
Ïà¹ØÎĵµ£º
¡¡¡¡Ëùν¶ÔÏóÐòÁл¯¾ÍÊǽ«¶ÔÏóµÄ״̬ת»»³É×Ö½ÚÁ÷£¬ÒÔºó¿ÉÒÔͨ¹ýÕâЩֵÔÙÉú³ÉÏàͬ״̬µÄ¶ÔÏó¡£Õâ¸ö¹ý³ÌÒ²¿ÉÒÔͨ¹ýÍøÂçʵÏÖ£¬¿ÉÒÔÏÈÔÚWindows»úÆ÷ÉÏ´´½¨Ò»¸ö¶ÔÏ󣬶ÔÆäÐòÁл¯£¬È»ºóͨ¹ýÍøÂç·¢¸øһ̨Unix»úÆ÷£¬È»ºóÔÚÄÇÀï׼ȷÎÞÎóµØÖØГװÅ䔡£ÊDz»ÊǺÜÉñÆæ¡£
¡¡¡¡Ò²ÐíÄã»á˵£¬Ö»Á˽âÒ»µãµã£¬µ«´ÓÀ´Ã»ÓнӴ¥¹ý£ ......
ÏÂÃæÕâƪÎÄÕÂÊÇ̨ÍåÖøÃûJavaÂÛ̳¡°Javaworld¡±µÄÒ»¸ö×ÊÉî°æÖ÷дµÄÒ»·â¶ÔJavaÐÂÊÖµÄÐÅ£¬Ï£ÍûС×é³ÉÔ±×Ðϸ¿´Ï Äã»áѧµ½ºÜ¶àµÄ¡¢¡¢¡¢¡¢ 親愛µÄ java ÐÂÊÖ們 :
ºÜ¸ß興Äã們願Òâ來這裡¹²Í¬學習,
Java 這個語ÑÔ, ÒÑ經²»Ô ......
ÕæÕý·¢ÏÖÈËÉúÐèҪ֪ʶµÄʱºò£¬ÎÒµÄÇà´ºÒѾÀË·ÑÁËÒ»°ë¡£
ÓÚÊǹÄÆðÓÂÆøÀ´µ½±±´óÇàÄñѧϰIT£¬¼øÓڶ෽¿¼ÂÇ£¬»¹ÊÇÑ¡ÔñÁËÈí¼þ²âÊÔ¡£
Èç½ñ¿ÎÒµµÄÒ»´ó°ëÒ²ÒѽáÊø£¬´Ó¸Õ¿ªÊ¼µÄÒ»ÎÞËùÖª£¬½¥½¥³É³¤ÎªÒ»¸ö²ËÄñ……
Ôڿγ̵Äѧϰ¹ý³ÌÖУ¬²Å½¥½¥·¢ÏÖ×Ô¼º¶ÔÓÚÕâ¸öÐÐÒµµÄÐËȤ£¬ÓÈÆäÊÇÈí¼þ¿ª·¢ÕâÒ»¿é¡£
ÉõÖÁ¶Ô×Ô¼ºÑ¡Ôñ×ö²â ......
Ò»ÖøÃûÈí¼þ¹«Ë¾µÄjava±ÊÊÔËã·¨Ì⣡(2008-11-06 12:49:19)±êÇ©£ºjava ÃæÊÔÌâ it ·ÖÀࣺJ2SE
ÔÌâÈçÏ£ºÓÃ1¡¢2¡¢2¡¢3¡¢4¡¢5ÕâÁù¸öÊý×Ö£¬ÓÃjavaдһ¸ömainº¯Êý£¬´òÓ¡³öËùÓв»Í¬µÄÅÅÁУ¬È磺512234¡¢412345µÈ£¬ÒªÇó£º "4 "²»ÄÜÔÚµÚÈý룬 "3 "Óë "5 "²»ÄÜÏàÁ¬.
ÎÒ¿´ÁË»ØÌù¶¼Ã»Óкܺýâ¾ö£¬Ö÷ÒªÊÇûÓÐÅųýÖ ......
һЩ³õѧJAVAµÄÅóÓÑ¿ÉÄÜ»áÓöµ½JAVAµÄÊý¾ÝÀàÐÍÖ®¼äת»»µÄ¿àÄÕ£¬ÀýÈ磬ÕûÊýºÍfloat,doubleÐÍÖ®¼äµÄת»»£¬ÕûÊýºÍStringÀàÐÍÖ®¼äµÄת»»£¬ÒÔ¼°´¦Àí¡¢ÏÔʾʱ¼ä·½ÃæµÄÎÊÌâµÈ¡£ÏÂÃæ±ÊÕ߾Ϳª·¢ÖеÄһЩÌå»á½éÉܸø´ó¼Ò¡£
ÎÒÃÇÖªµÀ£¬JavaµÄÊý¾ÝÀàÐÍ·ÖΪÈý´óÀ࣬¼´²¼¶ûÐÍ¡¢×Ö·ûÐͺÍÊýÖµÐÍ£¬¶øÆäÖÐÊýÖµÐÍÓÖ·ÖΪÕûÐͺ͸¡µãÐÍ£»Ïà¶Ô ......