ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ62²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
±ØÐë¶ÔÕâ¸öÎÊÌâ¼ÓÒԸ߶ÈÖØÊÓ¡£µÚÒ»¸öҪעÒâµÄÊÇ»ùÓÚ×é¼þµÄ³ÌÐòÉè¼Æ¡£ÔÚÕâÖÖ»·¾³Ï£¬ÎÒÃÇÓá°¿ìËÙÓ¦Óá¡
¿ª·¢¡±£¨RAD£©Ä£ÐÍÀ´¹¹½¨³ÌÐòÏîÄ¿¡£RAD¡¡Ò»°ãÊÇÔÚÓ¦ÓóÌÐò¹¹½¨¹¤¾ßÖÐÄÚ½¨µÄ¡£ÕâÊDZàÖƳÌÐòµÄÒ»ÖÖ¿ÉÊÓ;¡¡
¾¶£¨ÔÚÆÁÄ»ÉÏÒÔ´°ÌåµÄÐÎʽ³öÏÖ£©¡£¿É½«´ú±í²»Í¬×é¼þµÄͼ±êÍÏÒ·µ½´°ÌåÖС£Ëæºó£¬Í¨¹ýÉ趨ÕâЩ×é¼þµÄÊô¡¡
ÐÔ»òÕßÖµ£¬½øÐÐÕýÈ·µÄÅäÖá£Éè¼ÆÆÚ¼äµÄÅäÖÃÒªÇóÈκÎ×é¼þ¶¼ÊÇ¿ÉÒÔ¡°Àýʾ¡±µÄ£¨¼´¿ÉÒÔ×ÔÓÉ»ñµÃËüÃǵÄʵ¡¡
Àý£©¡£ÕâЩ×é¼þÒ²Òª½Òʾ³ö×Ô¼ºµÄÒ»²¿·ÖÄÚÈÝ£¬ÔÊÐí³ÌÐòÔ±¶ÁÈ¡ºÍÉèÖø÷ÖÖÖµ¡£´ËÍ⣬ÓÃÓÚ¿ØÖÆ¡¡GUI¡¡Ê¼þµÄ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡343¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡345¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
×é¼þ±ØÐë½Òʾ³öÓëÏàÓ¦µÄ·½·¨ÓйصÄÐÅÏ¢£¬ÒÔ±ãRAD¡¡»·¾³°ïÖú³ÌÐòÔ±ÓÃ×Ô¼ºµÄ´úÂ븲¸ÇÕâЩÓÉʼþÇý¶¯µÄ·½¡¡
·¨¡£¡°·´É䡱ÌṩÁËÒ»ÖÖÌØÊâµÄ»úÖÆ£¬¿ÉÒÔÕì²â¿ÉÓõķ½·¨£¬²¢²úÉú·½·¨Ãû¡£Í¨¹ý¡¡Java¡¡Beans¡¡£¨µÚ13Õ½«¡¡
Ïêϸ½éÉÜ£©£¬Java¡¡1¡£1¡¡ÎªÕâÖÖ»ùÓÚ×é¼þµÄ³ÌÐòÉè¼ÆÌṩÁËÒ»¸ö»ù´¡½á¹¹¡£¡¡¡¡
ÔÚÔËÐÐÆÚ²éѯÀàÐÅÏ¢µÄÁíÒ»¸öÔ¶¯Á¦ÊÇͨ¹ýÍøÂç´´½¨ÓëÖ´ÐÐλÓÚÔ¶³ÌϵͳÉϵĶÔÏó¡£Õâ¾Í½Ð×÷¡°Ô¶³Ì·½·¨µ÷¡¡
Óá±£¨RMI£©£¬ËüÔÊÐíJava¡¡³ÌÐò£¨°æ±¾¡¡1¡£1¡¡ÒÔÉÏ£©Ê¹ÓÃÓɶą̀»úÆ÷·¢²¼»ò·Ö²¼µÄ¶ÔÏó¡£ÕâÖÖ¶ÔÏóµÄ·Ö²¼¿ÉÄÜ¡¡
ÊÇÓɶ෽ÃæµÄÔÒòÒýÆðµÄ£º¿ÉÄÜÒª×öÒ»¼þ¼ÆËãÃܼ¯Ð͵Ť×÷£¬Ïë¶ÔËü½øÐзָÈô¦ÓÚ¿ÕÏÐ״̬µÄÆäËû»úÆ÷¡¡
·Öµ£²¿·Ö¹¤×÷£¬´Ó¶ø¼Ó¿ì´¦Àí½ø¶È¡£Ä³Ð©Çé¿öÏ£¬¿ÉÄÜÐèÒª½«ÓÃÓÚ¿ØÖÆÌض¨ÀàÐÍÈÎÎñ£¨±ÈÈç¶à²ã¿Í»§£¯·þÎñ¡¡
Æ÷¼Ü¹¹Öеġ°ÔË×÷¹æÔò¡±£©µÄ´úÂë·ÅÖÃÔÚһ̨ÌØÊâµÄ»úÆ÷ÉÏ£¬Ê¹Õą̂»úÆ÷³ÉΪ¶ÔÄÇЩÐж¯½øÐÐÃèÊöµÄÒ»¸öͨ¡¡
Óô¢²ØËù¡£¶øÇÒ¿ÉÒÔ·½±ãµØÐÞ¸ÄÕâ¸ö³¡Ëù£¬Ê¹Æä¶ÔϵͳÄÚµÄËùÓз½Ãæ²úÉúÓ°Ï죨ÕâÊÇÒ»ÖÖÌرðÓÐÓõÄÉè¼Æ˼¡¡
·£¬ÒòΪ»úÆ÷ÊǶÀÁ¢´æÔڵģ¬ËùÒÔÄÜÇáÒ×ÐÞ¸ÄÈí¼þ£¡£©¡£·Ö²¼Ê½¼ÆËãÒ²Äܸü³ä·ÖµØ·¢»ÓijЩרÓÃÓ²¼þµÄ×÷¡¡
Óã¬ËüÃÇÌرðÉó¤Ö´ÐÐһЩÌض¨µÄÈÎÎñ¡ª¡ªÀýÈç¾ØÕóÄæת¡ª¡ªµ«¶Ô³£¹æ±à³ÌÀ´ËµÈ´ÏÔµÃÌ«¿äÕÅ»òÕßÌ«°º¹ó¡¡
ÁË¡£¡¡¡¡
ÔÚJava¡¡1¡£1¡¡ÖУ¬Class¡¡Àࣨ±¾ÕÂÇ°ÃæÒÑÓÐÏêϸÂÛÊö£©µÃµ½ÁËÀ©Õ¹£¬¿ÉÒÔÖ§³Ö¡°·´É䡱µÄ¸ÅÄî¡£Õë¶Ô¡¡Field£¬¡¡
Method¡¡ÒÔ¼°Constructor¡¡Àࣨÿ¸ö¶¼ÊµÏÖÁË¡¡Memberinterface¡ª¡ª³ÉÔ±½Ó¿Ú£©£¬ËüÃǶ¼ÐÂÔöÁËÒ»¸ö¿â£º¡¡
java¡£lang¡£reflect¡£ÕâЩÀàÐ͵ĶÔÏó¶¼ÊÇ¡¡JVM¡¡ÔÚÔËÐÐÆÚ´´½¨µÄ£¬ÓÃÓÚ´ú±íδ֪ÀàÀï¶ÔÓ¦µÄ³ÉÔ±¡£ÕâÑù±ã¿ÉÓá¡
¹¹½¨Æ÷´´½¨Ð¶ÔÏó£¬Óá¡get£¨£©ºÍ¡¡set£¨£©·½·¨¶ÁÈ¡ºÍÐÞ¸ÄÓë¡¡Field¡¡¶ÔÏó¹ØÁªµÄ×ֶΣ¬ÒÔ¼°Óá¡invoke£¨£©·½·¨µ÷Óá¡
ÓëMethod¡¡¶ÔÏó¹ØÁªµÄ·½·¨¡£´ËÍ⣬ÎÒÃǿɵ÷Ó÷½·¨¡¡getFields£¨£©£¬getMethods£¨£©£¬getConstructors£¨£©£¬·Ö¡¡
±ð·µ»ØÓÃÓÚ±íʾ×ֶΡ¢·½·¨ÒÔ¼°¹¹½¨Æ÷µÄ¶ÔÏóÊý×飨ÔÚÁª»úÎĵµÖУ¬»¹¿ÉÕÒµ½ÓëClass¡¡ÀàÓйصĸü¶àµÄ×Ê¡¡
ÁÏ£©¡£Òò´Ë£¬ÄäÃû¶ÔÏóµÄÀàÐÅÏ¢¿ÉÔÚÔËÐÐÆÚ±»ÍêÕûµÄ½Ò¶³öÀ´£¬¶øÔÚ±àÒëÆڼ䲻ÐèÒªÖªµÀÈκζ«Î÷¡£¡¡¡¡
´ó¼ÒÒªÈÏʶµÄºÜÖØÒªµÄÒ»µãÊÇ¡°·´É䡱²¢Ã»ÓÐʲôÉñÆæµÄµØ·½¡£Í¨¹ý¡°·´É䡱ͬһ¸öδ֪ÀàÐ͵ĶÔÏó´ò½»µÀ¡¡
ʱ£¬JVM¡¡Ö»ÊǼòµ¥µØ¼ì²éÄǸö¶ÔÏ󣬲¢µ÷²éËü´ÓÊôÓÚÄĸöÌض¨µÄÀࣨ¾ÍÏóÒÔÇ°µÄRTTI¡¡ÄÇÑù£©¡£µ«ÔÚÕâÖ®ºó£¬¡¡
ÔÚÎÒÃÇ×öÆäËûÈκÎÊÂÇé֮ǰ£¬Class¡¡¶ÔÏó±ØÐëÔØÈë¡£Òò´Ë£¬ÓÃÓÚÄÇÖÖÌض¨ÀàÐ͵ġ£classÎļþ±ØÐëÄÜÓÉ¡¡JVM¡¡µ÷¡¡
Óã¨ÒªÃ´ÔÚ±¾µØ»úÆ÷ÄÚ£¬ÒªÃ´¿ÉÒÔͨ¹ýÍøÂçÈ¡µÃ£©¡£ËùÒÔ¡¡RTTI¡¡ºÍ¡°·´É䡱֮¼äΨһµÄÇø±ð¾ÍÊǶԡ¡RTTI¡¡À´¡¡
˵£¬±àÒëÆ÷»áÔÚ±àÒëÆÚ´ò¿ªºÍ¼ì²é¡£classÎļþ¡£»»¾ä»°Ëµ£¬ÎÒÃÇ¿ÉÒÔÓá°ÆÕͨ¡±·½Ê½µ÷ÓÃÒ»¸ö¶ÔÏóµÄËùÓз½¡¡
·¨£»µ«¶Ô¡°·´É䡱À´Ëµ£¬¡£class¡¡ÎļþÔÚ±àÒëÆÚ¼äÊDz»¿ÉʹÓõģ¬¶øÊÇÓÉÔËÐÐÆÚ»·¾³´ò¿ªºÍ¼ì²é¡£¡¡¡¡
11¡£3¡£1¡¡Ò»¸öÀà·½·¨ÌáÈ¡Æ÷¡¡¡¡
ºÜÉÙÐèÒªÖ±½ÓʹÓ÷´É乤¾ß£»Ö®ËùÒÔÔÚÓïÑÔÖÐÌṩËüÃÇ£¬½ö½öÊÇΪÁËÖ§³ÖÆäËûJava¡¡ÌØÐÔ£¬±ÈÈç¶ÔÏóÐòÁл¯¡¡
¡¡£¨µÚ10Õ½éÉÜ£©¡¢Java¡¡Beans¡¡ÒÔ¼°RMI¡¡£¨±¾ÕºóÃæ½éÉÜ£©¡£µ«ÊÇ£¬ÎÒÃÇÐí¶àʱºòÈÔÈ»ÐèÒª¶¯Ì¬ÌáÈ¡ÓëÒ»¸öÀà¡¡
ÓйصÄ×ÊÁÏ¡£ÆäÖÐÌرðÓÐÓõŤ¾ß±ãÊÇÒ»¸öÀà·½·¨ÌáÈ¡Æ÷¡£ÕýÈçÇ°ÃæÖ¸³öµÄÄÇÑù£¬Èô¼ìÊÓÀඨÒåÔ´Âë»òÕßÁª¡¡
»úÎĵµ£¬Ö»ÄÜ¿´µ½ÔÚÄǸöÀඨÒåÖỶ¨Òå»ò¸²¸ÇµÄ·½·¨£¬»ù´¡ÀàÄÇÀﻹÓдóÁ¿×ÊÁÏÄò»µ½¡£ÐÒÔ˵ÄÊÇ£¬¡°·´¡¡
É䡱×öµ½ÁËÕâÒ»µã£¬¿ÉÓÃËüдһ¸ö¼òµ¥µÄ¹¤¾ß£¬ÁîÆä×Ô¶¯Õ¹Ê¾Õû¸ö½Ó¿Ú¡£ÏÂÃæ±ãÊǾßÌåµÄ³ÌÐò£º¡¡¡¡
¡¡¡¡
//£º¡¡ShowMethods¡£java¡¡¡¡
//¡¡Using¡¡Java¡¡1¡£1¡¡reflection¡¡to¡¡show¡¡all¡¡the¡¡¡¡¡¡
//¡¡methods¡¡of¡¡a¡¡class£»¡¡even¡¡if¡¡the¡¡methods¡¡are¡¡¡¡¡¡
//¡¡defined¡¡in¡¡the¡¡base¡¡class¡£¡¡¡¡
import¡¡java¡£lang¡£reflect¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡ShowMethods¡¡£û¡¡¡¡
¡¡¡¡static¡¡final¡¡String¡¡usage¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¨usage£º¡¡n¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨ShowMethods¡¡qualified¡£class¡£namen¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨To¡¡show¡¡all¡¡methods¡¡in¡¡class¡¡or£º¡¡n¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨ShowMethods¡¡qualified¡£class¡£name¡¡wordn¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨To¡¡search¡¡for¡¡methods¡¡involving¡¡'word'¡¨£»¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡if£¨args¡£length¡¡¡¶¡¡1£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨usage£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£exit£¨0£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡344¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡346¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Class¡¡c¡¡=¡¡Class¡£forName£¨args£§0£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Method£§£§¡¡m¡¡=¡¡c¡£getMethods£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Constructor£§£§¡¡ctor¡¡=¡¡c¡£getConstructors£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨args¡£length¡¡==¡¡1£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡m¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨m£§i£§¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡ctor¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨ctor£§i£§¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡else¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡m¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨m£§i£§¡£toString£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£indexOf£¨args£§1£§£©£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨m£§i£§¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡ctor¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨ctor£§i£§¡£toString£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£indexOf£¨args£§1£§£©£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨ctor£§i£§¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch¡¡£¨ClassNotFoundException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨No¡¡such¡¡class£º¡¡¡¨¡¡£«¡¡e£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
Class¡¡·½·¨getMethods£¨£©ºÍ¡¡getConstructors£¨£©¿ÉÒԷֱ𷵻ØMethod¡¡ºÍConstructor¡¡µÄÒ»¸öÊý×顣ÿ¸öÀ඼¡¡
ÌṩÁ˽øÒ»²½µÄ·½·¨£¬¿É½âÎö³öËüÃÇËù´ú±íµÄ·½·¨µÄÃû×Ö¡¢²ÎÊýÒÔ¼°·µ»ØÖµ¡£µ«Ò²¿ÉÒÔÏóÕâÑùÒ»ÑùֻʹÓá¡
toString£¨£©£¬Éú³ÉÒ»¸öº¬ÓÐÍêÕû·½·¨Ç©ÃûµÄ×Ö´®¡£´úÂëÊ£ÓàµÄ²¿·ÖÖ»ÊÇÓÃÓÚÌáÈ¡ÃüÁîÐÐÐÅÏ¢£¬ÅжÏÌض¨µÄÇ©¡¡
ÃûÊÇ·ñÓëÎÒÃǵÄÄ¿±ê×Ö´®Ïà·û£¨Ê¹Óá¡indexOf£¨£©£©£¬²¢´òÓ¡³ö½á¹û¡£¡¡¡¡
ÕâÀï±ãÓõ½ÁË¡°·´É䡱¼¼Êõ£¬ÒòΪÓÉClass¡£forName£¨£©²úÉúµÄ½á¹û²»ÄÜÔÚ±àÒëÆÚ¼ä»ñÖª£¬ËùÒÔËùÓз½·¨Ç©Ãû¡¡
ÐÅÏ¢¶¼»áÔÚÔËÐÐÆÚ¼äÌáÈ¡¡£ÈôÑо¿Ò»ÏÂÁª»úÎĵµÖйØÓÚ¡°·´É䡱£¨Reflection£©µÄÄDz¿·ÖÎÄ×Ö£¬¾Í»á·¢ÏÖËü¡¡
ÒÑÌṩÁË×ã¹»¶àµÄÖ§³Ö£¬¿É¶ÔÒ»¸ö±àÒëÆÚÍêȫδ֪µÄ¶ÔÏó½øÐÐʵ¼ÊµÄÉèÖÃÒÔ¼°·¢³ö·½·¨µ÷Óá£Í¬ÑùµØ£¬ÕâÒ²¡¡
ÊôÓÚ¼¸ºõÍêÈ«²»ÓÃÎÒÃDzÙÐĵÄÒ»¸ö²½Ö衪¡ªJava¡¡×Ô¼º»áÀûÓÃÕâÖÖÖ§³Ö£¬ËùÒÔ³ÌÐòÉè¼Æ»·¾³Äܹ»¿ØÖÆJava¡¡¡¡
Beans¡ª¡ªµ«ËüÎÞÂÛÈçºÎ¶¼ÊǷdz£ÓÐȤµÄ¡£¡¡¡¡
Ò»¸öÓÐȤµÄÊÔÑéÊÇÔËÐС¡java¡¡ShowMehods¡¡ShowMethods¡£ÕâÑù×ö¿ÉµÃµ½Ò»¸öÁÐ±í£¬ÆäÖаüÀ¨Ò»¸öpublic¡¡Ä¬ÈÏ¡¡
¹¹½¨Æ÷£¬¾¡¹ÜÎÒÃÇÔÚ´úÂëÖп´¼û²¢Ã»Óж¨ÒåÒ»¸ö¹¹½¨Æ÷¡£ÎÒÃÇ¿´µ½µÄÊÇÓɱàÒëÆ÷×Ô¶¯ºÏ³ÉµÄÄÇÒ»¸ö¹¹½¨Æ÷¡£¡¡
Èç¹ûËæÖ®½«¡¡ShowMethods¡¡ÉèΪһ¸ö·Ç¡¡public¡¡Àࣨ¼´»»³É¡°ÓѺá±Àࣩ£¬ºÏ³ÉµÄĬÈϹ¹½¨Æ÷±ã²»»áÔÚÊä³ö½á¹û¡¡
ÖгöÏÖ¡£ºÏ³ÉµÄĬÈϹ¹½¨Æ÷»á×Ô¶¯»ñµÃÓëÀàÒ»ÑùµÄ·ÃÎÊȨÏÞ¡£¡¡¡¡
ShowMethods¡¡µÄÊä³öÈÔÈ»ÓÐЩ¡°²»Ë¬¡±¡£ÀýÈ磬ÏÂÃæÊÇͨ¹ýµ÷Óá¡java¡¡ShowMethods¡¡java¡£lang¡£StringµÃµ½¡¡
µÄÊä³ö½á¹ûµÄÒ»²¿·Ö£º¡¡¡¡
¡¡¡¡
public¡¡boolean¡¡¡¡¡¡
¡¡¡¡java¡£lang¡£String¡£startsWith£¨java¡£lang¡£String£»int£©¡¡¡¡
public¡¡boolean¡¡¡¡¡¡
¡¡¡¡java¡£lang¡£String¡£startsWith£¨java¡£lang¡£String£©¡¡¡¡
public¡¡boolean¡¡¡¡
¡¡¡¡java¡£lang¡£String¡£endsWith£¨java¡£lang¡£String£©¡¡¡¡
¡¡¡¡
ÈôÄÜÈ¥µôÏó¡¡java¡£lang¡¡ÕâÑùµÄÏÞ¶¨´Ê£¬½á¹ûÏÔÈ»»á¸üÁîÈËÂúÒâ¡£ÓмøÓÚ´Ë£¬¿ÉÒýÈëÉÏÒ»Õ½éÉܵġ¡
StreamTokenizer¡¡À࣬½â¾öÕâ¸öÎÊÌ⣺¡¡¡¡
¡¡¡¡
//£º¡¡ShowMethodsClean¡£java¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡345¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡347¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//¡¡ShowMethods¡¡with¡¡the¡¡qualifiers¡¡stripped¡¡¡¡
//¡¡to¡¡make¡¡the¡¡results¡¡easier¡¡to¡¡read¡¡¡¡
import¡¡java¡£lang¡£reflect¡£*£»¡¡¡¡
import¡¡java¡£io¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡ShowMethodsClean¡¡£û¡¡¡¡
¡¡¡¡static¡¡final¡¡String¡¡usage¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¨usage£º¡¡n¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨ShowMethodsClean¡¡qualified¡£class¡£namen¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨To¡¡show¡¡all¡¡methods¡¡in¡¡class¡¡or£º¡¡n¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨ShowMethodsClean¡¡qualif¡£class¡£name¡¡wordn¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¨To¡¡search¡¡for¡¡methods¡¡involving¡¡'word'¡¨£»¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡if£¨args¡£length¡¡¡¶¡¡1£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨usage£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£exit£¨0£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Class¡¡c¡¡=¡¡Class¡£forName£¨args£§0£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Method£§£§¡¡m¡¡=¡¡c¡£getMethods£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Constructor£§£§¡¡ctor¡¡=¡¡c¡£getConstructors£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Convert¡¡to¡¡an¡¡array¡¡of¡¡cleaned¡¡Strings£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡String£§£§¡¡n¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡String£§m¡£length¡¡£«¡¡ctor¡£length£§£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡m¡£length£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡s¡¡=¡¡m£§i£§¡£toString£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡n£§i£§¡¡=¡¡StripQualifiers¡£strip£¨s£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡ctor¡£length£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡s¡¡=¡¡ctor£§i£§¡£toString£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡n£§i¡¡£«¡¡m¡£length£§¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡StripQualifiers¡£strip£¨s£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨args¡£length¡¡==¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡n¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨n£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡else¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡n¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨n£§i£§¡£indexOf£¨args£§1£§£©£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨n£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch¡¡£¨ClassNotFoundException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨No¡¡such¡¡class£º¡¡¡¨¡¡£«¡¡e£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡StripQualifiers¡¡£û¡¡¡¡
¡¡¡¡private¡¡StreamTokenizer¡¡st£»¡¡¡¡
¡¡¡¡public¡¡StripQualifiers£¨String¡¡qualified£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡st¡¡=¡¡new¡¡StreamTokenizer£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡StringReader£¨qualified£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡st¡£ordinaryChar£¨'¡¡'£©£»¡¡//¡¡Keep¡¡the¡¡spaces¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡346¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡348¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡String¡¡getNext£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡String¡¡s¡¡=¡¡null£»¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨st¡£nextToken£¨£©¡¡£¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡StreamTokenizer¡£TT_EOF£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡switch£¨st¡£ttype£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡StreamTokenizer¡£TT_EOL£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s¡¡=¡¡null£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡StreamTokenizer¡£TT_NUMBER£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s¡¡=¡¡Double¡£toString£¨st¡£nval£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡StreamTokenizer¡£TT_WORD£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s¡¡=¡¡new¡¡String£¨st¡£sval£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡default£º¡¡//¡¡single¡¡character¡¡in¡¡ttype¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s¡¡=¡¡String¡£valueOf£¨¡¡£¨char£©st¡£ttype£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨IOException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨e£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡s£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡String¡¡strip£¨String¡¡qualified£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡StripQualifiers¡¡sq¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡StripQualifiers£¨qualified£©£»¡¡¡¡
¡¡¡¡¡¡¡¡String¡¡s¡¡=¡¡¡¨¡¨£»¡¡si£»¡¡¡¡
¡¡¡¡¡¡¡¡while£¨£¨si¡¡=¡¡sq¡£getNext£¨£©£©¡¡£¡=¡¡null£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡int¡¡lastDot¡¡=¡¡si¡£lastIndexOf£¨'¡£'£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨lastDot¡¡£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡si¡¡=¡¡si¡£substring£¨lastDot¡¡£«¡¡1£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡s¡¡£«=¡¡si£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡s£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ShowMethodsClean¡¡·½·¨·Ç³£½Ó½üÇ°Ò»¸öShowMethods£¬Ö»ÊÇËüÈ¡µÃÁËMethod¡¡ºÍConstructor¡¡Êý×飬²¢½«ËüÃÇ¡¡
ת»»³Éµ¥¸ö¡¡String¡¡Êý×é¡£Ëæºó£¬Ã¿¸öÕâÑùµÄ¡¡String¡¡¶ÔÏó¶¼ÔÚ¡¡StripQualifiers¡£Strip£¨£©Àï¡°¹ý¡±Ò»±é£¬É¾¡¡
³ýËùÓз½·¨ÏÞ¶¨´Ê¡£ÕýÈç´ó¼Ò¿´µ½µÄÄÇÑù£¬´ËʱÓõ½ÁËStreamTokenizer¡¡ºÍString¡¡À´Íê³ÉÕâ¸ö¹¤×÷¡£¡¡¡¡
¼ÙÈç¼Ç²»µÃÒ»¸öÀàÊÇ·ñÓÐÒ»¸öÌض¨µÄ·½·¨£¬¶øÇÒ²»ÏëÔÚÁª»úÎĵµÀïÖð²½¼ì²éÀà½á¹¹£¬»òÕß²»ÖªµÀÄǸöÀàÊÇ·ñ¡¡
ÄܶÔij¸ö¶ÔÏó£¨ÈçColor¡¡¶ÔÏó£©×öij¼þÊÂÇ飬¸Ã¹¤¾ß±ã¿É½ÚÊ¡´óÁ¿±à³Ìʱ¼ä¡£¡¡¡¡
µÚ¡¡17¡¡ÕÂÌṩÁËÕâ¸ö³ÌÐòµÄÒ»¸öGUI¡¡°æ±¾£¬¿ÉÔÚ×Ô¼ºÐ´´úÂëµÄʱºòÔËÐÐËü£¬ÒÔ±ã¿ìËÙ²éÕÒÐèÒªµÄ¶«Î÷¡£¡¡¡¡
11¡£4¡¡×ܽᡡ¡¡
ÀûÓÃRTTI¡¡¿É¸ù¾ÝÒ»¸öÄäÃûµÄ»ù´¡Àà¾ä±úµ÷²é³öÀàÐÍÐÅÏ¢¡£µ«ÕýÊÇÓÉÓÚÕâ¸öÔÒò£¬ÐÂÊÖÃǼ«Ò×ÎóÓÃËü£¬ÒòΪÓС¡
Щʱºò¶àÐÎÐÔ·½·¨±ã×ã¹»ÁË¡£¶ÔÄÇЩÒÔÇ°Ï°¹ß³ÌÐò»¯±à³ÌµÄÈËÀ´Ëµ£¬¼«Ò×½«ËûÃǵijÌÐò×éÖ¯³ÉһϵÁÐswitch¡¡
Óï¾ä¡£ËûÃÇ¿ÉÄÜÓá¡RTTI¡¡×öµ½ÕâÒ»µã£¬´Ó¶øÔÚ´úÂ뿪·¢ºÍά»¤ÖÐËðʧ¶àÐÎÐÔ¼¼ÊõµÄÖØÒª¼ÛÖµ¡£Java¡¡µÄÒªÇóÊÇ¡¡
ÈÃÎÒÃǾ¡¿ÉÄܵزÉÓöàÐÎÐÔ£¬Ö»ÓÐÔÚ¼«ÌرðµÄÇé¿öϲÅʹÓÃRTTI¡¡¡£¡¡¡¡
µ«ÎªÁËÀûÓöàÐÎÐÔ£¬ÒªÇóÎÒÃÇÓµÓжԻù´¡ÀඨÒåµÄ¿ØÖÆȨ£¬ÒòΪÓÐЩʱºòÔÚ³ÌÐò·¶Î§Ö®ÄÚ£¬¿ÉÄÜ·¢ÏÖ»ù´¡Àà¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡347¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡349¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
²¢Î´°üÀ¨ÎÒÃÇÏëÒªµÄ·½·¨¡£Èô»ù´¡ÀàÀ´×ÔÒ»¸ö¿â£¬»òÕßÓɱðµÄʲô¶«Î÷¿ØÖÆ×Å£¬RTTI¡¡±ãÊÇÒ»ÖֺܺõĽâ¾ö·½¡¡
°¸£º¿É¼Ì³ÐÒ»¸öÐÂÀàÐÍ£¬È»ºóÌí¼Ó×Ô¼ºµÄ¶îÍâ·½·¨¡£ÔÚ´úÂëµÄÆäËûµØ·½£¬¿ÉÒÔÕì²â×Ô¼ºµÄÌض¨ÀàÐÍ£¬²¢µ÷Óá¡
ÄǸöÌØÊâµÄ·½·¨¡£ÕâÑù×ö²»»áÆÆ»µ¶àÐÎÐÔÒÔ¼°³ÌÐòµÄÀ©Õ¹ÄÜÁ¦£¬ÒòΪÐÂÀàÐ͵ÄÌí¼Ó²»ÒªÇó²éÕÒ³ÌÐòÖеġ¡
switchÓï¾ä¡£µ«ÔÚÐèÒªÐÂÌØÐÔµÄÖ÷ÌåÖÐÌí¼ÓдúÂëʱ£¬¾Í±ØÐëÓá¡RTTI¡¡Õì²â×Ô¼ºÌض¨µÄÀàÐÍ¡£¡¡¡¡
´Óij¸öÌض¨ÀàµÄÀûÒæµÄ½Ç¶È³ö·¢£¬ÔÚ»ù´¡ÀàÀï¼ÓÈëÒ»¸öÌØÐԺ󣬿ÉÄÜÒâζ×Å´ÓÄǸö»ù´¡ÀàÑÜÉúµÄÆäËûËùÓÐÀà¡¡
¶¼±ØÐë»ñµÃһЩÎÞÒâÒåµÄ¡°¼¦Àß¡±¡£ÕâʹµÃ½Ó¿Ú±äµÃº¬ÒåÄ£ºý¡£ÈôÓÐÈË´ÓÄǸö»ù´¡Àà¼Ì³Ð£¬ÇÒ±ØÐ븲¸Ç³éÏó¡¡
·½·¨£¬ÕâÒ»ÏÖÏó±ã»áʹËûÃÇÏÝÈëÀ§ÈÅ¡£±ÈÈçÏÖÔÚÓÃÒ»¸öÀà½á¹¹À´±íʾÀÖÆ÷£¨Instrument£©¡£¼Ù¶¨ÎÒÃÇÏëÇå½à¡¡
¹ÜÏÒÀÖ¶ÓÖÐËùÓÐÊʵ±ÀÖÆ÷µÄͨÆøÒô˨£¨Spit¡¡Valve£©£¬´ËʱµÄÒ»¸ö°ì·¨ÊÇÔÚ»ù´¡ÀàInstrument¡¡ÖÐÖÃÈëÒ»¸ö¡¡
ClearSpitValve£¨£©·½·¨¡£µ«ÕâÑù×ö»áÔì³ÉÒ»¸öÎóÇø£¬ÒòΪËü°µÊ¾×Å´ò»÷ÀÖÆ÷ºÍµç×ÓÀÖÆ÷ÖÐÒ²ÓÐÒô˨¡£Õë¶ÔÕâ¡¡
ÖÖÇé¿ö£¬RTTI¡¡ÌṩÁËÒ»¸ö¸üºÏÀíµÄ½â¾ö·½°¸£¬¿É½«·½·¨ÖÃÈëÌض¨µÄÀàÖУ¨´ËʱÊÇWind¡¡£¬¼´¡°Í¨Æø¿Ú¡±£©¡ª¡ª¡¡
ÕâÑù×öÊÇ¿ÉÐеġ£µ«ÊÂʵÉÏÒ»ÖÖ¸üºÏÀíµÄ·½°¸Êǽ«¡¡prepareInstrument£¨£©ÖÃÈë»ù´¡ÀàÖС£³õѧÕ߸տªÊ¼Ê±Íù¡¡
Íù¿´²»µ½ÕâÒ»µã£¬Ò»°ã»áÈ϶¨×Ô¼º±ØÐëʹÓÃRTTI¡¡¡£¡¡¡¡
×îºó£¬RTTI¡¡ÓÐʱÄܽâ¾öЧÂÊÎÊÌâ¡£Èô´úÂë´óÁ¿ÔËÓÃÁ˶àÐÎÐÔ£¬µ«ÆäÖеÄÒ»¸ö¶ÔÏóÔÚÖ´ÐÐЧÂÊÉϺÜÓÐÎÊÌ⣬±ã¡¡
¿ÉÓÃRTTI¡¡ÕÒ³öÄǸöÀàÐÍ£¬È»ºóдһ¶ÎÊʵ±µÄ´úÂ룬¸Ä½øÆäЧÂÊ¡£¡¡¡¡
11¡£5¡¡Á·Ï°¡¡¡¡
£¨1£©¡¡Ð´Ò»¸ö·½·¨£¬ÏòËü´«µÝÒ»¸ö¶ÔÏó£¬Ñ»·´òÓ¡³ö¶ÔÏó²ã´Î½á¹¹ÖеÄËùÓÐÀà¡£¡¡¡¡
£¨2£©¡¡ÔÚToyTest¡£java¡¡ÖУ¬½«Toy¡¡µÄĬÈϹ¹½¨Æ÷±ê¼Ç³É×¢ÊÍÐÅÏ¢£¬½âÊÍËæÖ®·¢ÉúµÄÊÂÇé¡£¡¡¡¡
£¨3£©¡¡Ð½¨Ò»ÖÖÀàÐ͵ļ¯ºÏ£¬ÁîÆäʹÓÃÒ»¸öVector¡£²¶»ñÖÃÈëÆäÖеĵÚÒ»¸ö¶ÔÏóµÄÀàÐÍ£¬È»ºó´ÓÄÇʱÆðÖ»ÔÊÐí¡¡
Óû§²åÈëÄÇÖÖÀàÐ͵ĶÔÏ󡣡¡¡¡
£¨4£©¡¡Ð´Ò»¸ö³ÌÐò£¬ÅжÏÒ»¸ö¡¡Char¡¡Êý×éÊôÓÚ»ù±¾Êý¾ÝÀàÐÍ£¬»¹ÊÇÒ»¸öÕæÕýµÄ¶ÔÏ󡣡¡¡¡
£¨5£©¡¡¸ù¾Ý±¾ÕµÄ˵Ã÷£¬ÊµÏÖ¡¡clearSpitValve£¨£©¡£¡¡¡¡
£¨6£©¡¡ÊµÏÖ±¾Õ½éÉܵÄrotate£¨Shape£©·½·¨£¬ÁîÆä¼ì²éÊÇ·ñÒѾÐýתÁËÒ»¸öÔ²£¨ÈôÒÑÐýת£¬¾Í²»ÔÙÖ´ÐÐÐýת²Ù¡¡
×÷£©¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡348¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡350¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡12¡¡Õ¡¡¡¡´«µÝºÍ·µ»Ø¶ÔÏó¡¡¡¡
¡¡¡¡
µ½Ä¿Ç°ÎªÖ¹£¬¶ÁÕßÓ¦¶Ô¶ÔÏóµÄ¡°´«µÝ¡±ÓÐÁËÒ»¸ö½ÏΪÉî¿ÌµÄÈÏʶ£¬¼Çסʵ¼Ê´«µÝµÄÖ»ÊÇÒ»¸ö¾ä±ú¡£¡¡¡¡
ÔÚÐí¶à³ÌÐòÉè¼ÆÓïÑÔÖУ¬ÎÒÃÇ¿ÉÓÃÓïÑԵġ°ÆÕͨ¡±·½Ê½µ½´¦´«µÝ¶ÔÏ󣬶øÇÒ´ó¶àÊýʱºò¶¼²»»áÓöµ½ÎÊÌâ¡£µ«¡¡
ÓÐЩʱºòÈ´²»µÃ²»²ÉȡһЩ·Ç³£×ö·¨£¬Ê¹µÃÇé¿öͻȻ±äµÃÉÔ΢¸´ÔÓÆðÀ´£¨ÔÚC£«£«ÖÐÔòÊDZäµÃ·Ç³£¸´ÔÓ£©¡£¡¡
Java¡¡Ò಻ÀýÍ⣬ÎÒÃÇÊ®·ÖÓбØҪ׼ȷÈÏʶÔÚ¶ÔÏ󴫵ݺ͸³ÖµÊ±Ëù·¢ÉúµÄÒ»ÇС£ÕâÕýÊDZ¾ÕµÄ×ÚÖ¼¡£¡¡¡¡
Èô¶ÁÕßÊÇ´ÓijЩÌØÊâµÄ³ÌÐòÉè¼Æ»·¾³ÖÐתÒƹýÀ´µÄ£¬ÄÇôһ°ã¶¼»áÎʵ½£º¡°Java¡¡ÓÐÖ¸ÕëÂ𣿡±ÓÐЩÈËÈÏΪָ¡¡
ÕëµÄ²Ù×÷ºÜÀ§ÄÑ£¬¶øÇÒÊ®·ÖΣÏÕ£¬ËùÒÔÒ»ÏáÇéÔ¸µØÈÏΪËüûÓкô¦¡£Í¬Ê±ÓÉÓÚJava¡¡ÓÐÈç´ËºÃµÄ¿Ú±®£¬ËùÒÔÓ¦¡¡
¸ÃºÜÇáÒ×µØÃâ³ý×Ô¼ºÒÔÇ°±à³ÌÖеÄÂé·³£¬ÆäÖв»¿ÉÄܼдøÓÐÖ¸ÕëÕâÑùµÄ¡°Î£ÏÕÆ·¡±¡£È»¶ø׼ȷµØ˵£¬Java¡¡ÊÇ¡¡
ÓÐÖ¸ÕëµÄ£¡ÊÂʵÉÏ£¬Java¡¡ÖÐÿ¸ö¶ÔÏ󣨳ý»ù±¾Êý¾ÝÀàÐÍÒÔÍ⣩µÄ±êʶ·û¶¼ÊôÓÚÖ¸ÕëµÄÒ»ÖÖ¡£µ«ËüÃǵÄʹÓÃÊÜ¡¡
µ½ÁËÑϸñµÄÏÞÖƺͷÀ·¶£¬²»½ö±àÒëÆ÷¶ÔËüÃÇÓС°½äÐÄ¡±£¬ÔËÐÐÆÚϵͳҲ²»ÀýÍâ¡£»òÕß»»´ÓÁíÒ»¸ö½Ç¶È˵£¬¡¡
Java¡¡ÓÐÖ¸Õ룬µ«Ã»Óд«Í³Ö¸ÕëµÄÂé·³¡£ÎÒÔøÒ»¶È½«ÕâÖÖÖ¸Õë½Ð×ö¡°¾ä±ú¡±£¬µ«Äã¿ÉÒÔ°ÑËüÏëÏñ³É¡°°²È«Ö¸¡¡
Õ롱¡£ºÍÔ¤±¸Ñ§Ð£ÎªÑ§ÉúÌṩµÄ°²È«¼ôµ¶ÀàËÆ¡ª¡ª³ý·ÇÌرðÓÐÒ⣬·ñÔò²»»áÉË×Å×Ô¼º£¬Ö»²»¹ýÓÐʱҪÂýÂý¡¡
À´£¬ÒªÏ°¹ßһЩ³ÁÃƵŤ×÷¡£¡¡¡¡
12¡£1¡¡´«µÝ¾ä±ú¡¡¡¡
½«¾ä±ú´«µÝ½øÈëÒ»¸ö·½·¨Ê±£¬Ö¸ÏòµÄÈÔÈ»ÊÇÏàͬµÄ¶ÔÏó¡£Ò»¸ö¼òµ¥µÄʵÑé¿ÉÒÔÖ¤Ã÷ÕâÒ»µã£¨ÈôÖ´ÐÐÕâ¸ö³ÌÐò¡¡
ʱÓÐÂé·³£¬Çë²Î¿¼µÚ3¡¡ÕÂ3¡£1¡£2¡¡Ð¡½Ú¡°¸³Öµ¡±£©£º¡¡¡¡
¡¡¡¡
//£º¡¡PassHandles¡£java¡¡¡¡
//¡¡Passing¡¡handles¡¡around¡¡¡¡
package¡¡c12£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡PassHandles¡¡£û¡¡¡¡
¡¡¡¡static¡¡void¡¡f£¨PassHandles¡¡h£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨h¡¡inside¡¡f£¨£©£º¡¡¡¨¡¡£«¡¡h£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡PassHandles¡¡p¡¡=¡¡new¡¡PassHandles£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨p¡¡inside¡¡main£¨£©£º¡¡¡¨¡¡£«¡¡p£©£»¡¡¡¡
¡¡¡¡¡¡¡¡f£¨p£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
toString¡¡·½·¨»áÔÚ´òÓ¡Óï¾äÀï×Ô¶¯µ÷Ó㬶ø¡¡PassHandles¡¡Ö±½Ó´Ó¡¡Object¡¡¼Ì³Ð£¬Ã»ÓС¡toString¡¡µÄÖØж¨Òå¡£¡¡
Òò´Ë£¬ÕâÀï»á²ÉÓÃtoString¡¡µÄObject¡¡°æ±¾£¬´òÓ¡³ö¶ÔÏóµÄÀ࣬½Ó×ÅÊÇÄǸö¶ÔÏóËùÔÚµÄλÖ㨲»ÊǾä±ú£¬¶ø¡¡
ÊǶÔÏóµÄʵ¼Ê´æ´¢Î»Öã
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡