°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ) >

µÚ90²¿·Ö

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ90²¿·Ö

С˵£º Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ) ×ÖÊý£º ÿҳ4000×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




£¨9£©¡¡¸ù¾Ý±¾ÕÂÕýÎĵÄ˵Ã÷Ð޸ijÌÐò¡¡CADState¡£java¡¡¡£¡¡¡¡

£¨10£©¡¡ÔÚµÚ¡¡7¡¡Õ£¨Öм䲿·Ö£©ÕÒµ½GreenhouseControls¡£java¡¡Ê¾Àý£¬ËüÓ¦¸ÃÓÉÈý¸öÎļþ¹¹³É¡£ÔÚ¡¡

GreenhouseControls¡£java¡¡ÖУ¬Restart£¨£©ÄÚ²¿ÀàÓÐÒ»¸öÓ²±àÂëµÄʼþ¼¯¡£ÇëÐÞ¸ÄÕâ¸ö³ÌÐò£¬Ê¹ÆäÄÜ´ÓÒ»¸öÎÄ¡¡

±¾ÎļþÀﶯ̬¶ÁȡʼþÒÔ¼°ËüÃǵÄÏà¹Øʱ¼ä¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡332¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡334¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡11¡¡Õ¡¡¡¡ÔËÐÐÆÚÀàÐͼø¶¨¡¡¡¡



¡¡¡¡

ÔËÐÐÆÚÀàÐͼø¶¨£¨RTTI¡¡£©µÄ¸ÅÄî³õ¿´·Ç³£¼òµ¥¡ª¡ªÊÖÉÏÖ»Óлù´¡ÀàÐ͵ÄÒ»¸ö¾ä±úʱ£¬ÀûÓÃËüÅжÏÒ»¸ö¶ÔÏóµÄ¡¡

ÕýÈ·ÀàÐÍ¡£¡¡¡¡

È»¶ø£¬¶ÔRTTI¡¡µÄÐèÒª±©Â¶³öÁËÃæÏò¶ÔÏóÉè¼ÆÐí¶àÓÐȤ£¨¶øÇÒ¾­³£ÊÇÁîÈËÀ§»óµÄ£©µÄÎÊÌ⣬²¢°Ñ³ÌÐòµÄ¹¹ÔìÎÊ¡¡

ÌâÕýʽ°ÚÉÏÁË×ÀÃæ¡£¡¡¡¡

±¾Õ½«ÌÖÂÛÈçºÎÀûÓÃJava¡¡ÔÚÔËÐÐÆÚ¼ä²éÕÒ¶ÔÏóºÍÀàÐÅÏ¢¡£ÕâÖ÷Òª²ÉÈ¡Á½ÖÖÐÎʽ£ºÒ»ÖÖÊÇ¡°´«Í³¡±RTTI¡¡£¬Ëü¼Ù¡¡

¶¨ÎÒÃÇÒÑÔÚ±àÒëºÍÔËÐÐÆÚÓµÓÐËùÓÐÀàÐÍ£»ÁíÒ»ÖÖÊÇ¡¡Java1¡£1¡¡ÌØÓеġ°·´É䡱»úÖÆ£¬ÀûÓÃËü¿ÉÔÚÔËÐÐÆÚ¶ÀÁ¢²é¡¡

ÕÒÀàÐÅÏ¢¡£Ê×ÏÈÌÖÂÛ¡°´«Í³¡±µÄRTTI£¬ÔÙÌÖÂÛ·´ÉäÎÊÌâ¡£¡¡¡¡



11¡£1¡¡¶Ô¡¡RTTI¡¡µÄÐèÒª¡¡¡¡



Ç뿼ÂÇÏÂÃæÕâ¸öÊìϤµÄÀà½á¹¹Àý×Ó£¬ËüÀûÓÃÁ˶àÐÎÐÔ¡£³£¹æÀàÐÍÊÇShape¡¡À࣬¶øÌرðÑÜÉú³öÀ´µÄÀàÐÍÊÇ¡¡

Circle£¬Square¡¡ºÍTriangle¡¡¡£¡¡¡¡

¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡

ÕâÊÇÒ»¸öµäÐ͵ÄÀà½á¹¹Ê¾Òâͼ£¬»ù´¡ÀàλÓÚ¶¥²¿£¬ÑÜÉúÀàÏòÏÂÑÓÕ¹¡£ÃæÏò¶ÔÏó±à³ÌµÄ»ù±¾Ä¿±êÊÇÓôóÁ¿´úÂë¡¡

¿ØÖÆ»ù´¡ÀàÐÍ£¨ÕâÀïÊÇ¡¡Shape£©µÄ¾ä±ú£¬ËùÒÔ¼ÙÈç¾ö¶¨Ìí¼ÓÒ»¸öÐÂÀࣨ±ÈÈçRhomboid¡¡£¬´ÓShape¡¡ÑÜÉú£©£¬´Ó¡¡

¶ø¶Ô³ÌÐò½øÐÐÀ©Õ¹£¬ÄÇô²»»áÓ°Ïìµ½Ô­À´µÄ´úÂë¡£ÔÚÕâ¸öÀý×ÓÖУ¬Shape¡¡½Ó¿ÚÖеĶ¯Ì¬°ó¶¨·½·¨ÊÇdraw£¨£©£¬¡¡

ËùÒÔ¿Í»§³ÌÐòÔ±Òª×öµÄÊÇͨ¹ýÒ»¸öÆÕͨShape¡¡¾ä±úµ÷ÓÃdraw£¨£©¡£draw£¨£©ÔÚËùÓÐÑÜÉúÀàÀﶼ»á±»¸²¸Ç¡£¶øÇÒÓÉ¡¡

ÓÚËüÊÇÒ»¸ö¶¯Ì¬°ó¶¨·½·¨£¬ËùÒÔ¼´Ê¹Í¨¹ýÒ»¸öÆÕͨµÄShape¡¡¾ä±úµ÷ÓÃËü£¬Ò²ÓбíÏÖ³öÕýÈ·µÄÐÐΪ¡£ÕâÕýÊǶࡡ

ÐÎÐÔµÄ×÷Óᣡ¡¡¡

ËùÒÔ£¬ÎÒÃÇÒ»°ã´´½¨Ò»¸öÌض¨µÄ¶ÔÏó£¨Circle£¬Square£¬»òÕß¡¡Triangle¡¡£©£¬°ÑËüÉÏËÝÔìÐ͵½Ò»¸öShape¡¡£¨ºö¡¡

ÂÔ¶ÔÏóµÄÌØÊâÀàÐÍ£©£¬ÒÔºó±ãÔÚ³ÌÐòµÄÊ£Óಿ·ÖʹÓÃÄäÃû¡¡Shape¡¡¾ä±ú¡£¡¡¡¡

×÷Ϊ¶Ô¶àÐÎÐÔºÍÉÏËÝÔìÐ͵ÄÒ»¸ö¼òÒª»Ø¹Ë£¬¿ÉÒÔÏóÏÂÃæÕâÑùΪÉÏÊöÀý×Ó±àÂ루ÈôÖ´ÐÐÕâ¸ö³ÌÐòʱ³öÏÖÀ§ÄÑ£¬¡¡

Çë²Î¿¼µÚ3¡¡ÕÂ3¡£1¡£2¡¡Ð¡½Ú¡°¸³Öµ¡±£©£º¡¡¡¡

¡¡¡¡

//£º¡¡Shapes¡£java¡¡¡¡

package¡¡c11£»¡¡¡¡

import¡¡java¡£util¡£*£»¡¡¡¡

¡¡¡¡

interface¡¡Shape¡¡£û¡¡¡¡

¡¡¡¡void¡¡draw£¨£©£»¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Circle¡¡implements¡¡Shape¡¡£û¡¡¡¡

¡¡¡¡public¡¡void¡¡draw£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Circle¡£draw£¨£©¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Square¡¡implements¡¡Shape¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡333¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡335¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡public¡¡void¡¡draw£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Square¡£draw£¨£©¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Triangle¡¡implements¡¡Shape¡¡£û¡¡¡¡

¡¡¡¡public¡¡void¡¡draw£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Triangle¡£draw£¨£©¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡Shapes¡¡£û¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡Vector¡¡s¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡s¡£addElement£¨new¡¡Circle£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡s¡£addElement£¨new¡¡Square£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡s¡£addElement£¨new¡¡Triangle£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Enumeration¡¡e¡¡=¡¡s¡£elements£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡while£¨e¡£hasMoreElements£¨£©£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Shape£©e¡£nextElement£¨£©£©¡£draw£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

»ù´¡Àà¿É±àÂë³ÉÒ»¸ö¡¡interface¡¡£¨½Ó¿Ú£©¡¢Ò»¸öabstract¡¡£¨³éÏó£©Àà»òÕßÒ»¸öÆÕͨÀà¡£ÓÉÓÚShape¡¡Ã»ÓÐÕæÕý¡¡

µÄ³ÉÔ±£¨Ò༴Óж¨ÒåµÄ³ÉÔ±£©£¬¶øÇÒ²¢²»ÔÚÒâÎÒÃÇ´´½¨ÁËÒ»¸ö´¿´âµÄShape¡¡¶ÔÏó£¬ËùÒÔ×îÊʺϺÍ×îÁé»îµÄ±í¡¡

´ï·½Ê½±ãÊÇÓÃÒ»¸ö½Ó¿Ú¡£¶øÇÒÓÉÓÚ²»±ØÉèÖÃËùÓÐÄÇЩabstract¡¡¹Ø¼ü×Ö£¬ËùÒÔÕû¸ö´úÂëÒ²ÏԵøüΪÇåˬ¡£¡¡¡¡

ÿ¸öÑÜÉúÀ඼¸²¸ÇÁË»ù´¡Ààdraw¡¡·½·¨£¬ËùÒÔ¾ßÓв»Í¬µÄÐÐΪ¡£ÔÚmain£¨£©Öд´½¨ÁËÌض¨ÀàÐ͵ÄShape£¬È»ºó½«¡¡

ÆäÌí¼Óµ½Ò»¸öVector¡£ÕâÀïÕýÊÇÉÏËÝÔìÐÍ·¢ÉúµÄµØ·½£¬ÒòΪVector¡¡Ö»ÈÝÄÉÁ˶ÔÏó¡£ÓÉÓÚJava¡¡ÖеÄËùÓж«Î÷¡¡

¡¡£¨³ý»ù±¾Êý¾ÝÀàÐÍÍ⣩¶¼ÊǶÔÏó£¬ËùÒÔVector¡¡Ò²ÄÜÈÝÄÉ¡¡Shape¡¡¶ÔÏó¡£µ«ÔÚÉÏËÝÔìÐÍÖÁ¡¡Object¡¡µÄ¹ý³ÌÖУ¬ÈΡ¡

ºÎÌØÊâµÄÐÅÏ¢¶¼»á¶ªÊ§£¬ÆäÖÐÉõÖÁ°üÀ¨¶ÔÏóÊǼ¸ºÎÐÎ×´ÕâÒ»ÊÂʵ¡£¶ÔVect¡¡or¡¡À´Ëµ£¬ËüÃÇÖ»ÊÇObject¡£¡¡¡¡

ÓÃnextElement£¨£©½«Ò»¸öÔªËØ´Ó¡¡Vector¡¡ÌáÈ¡³öÀ´µÄʱºò£¬Çé¿ö±äµÃÉÔ΢ÓÐЩ¸´ÔÓ¡£ÓÉÓÚ¡¡Vector¡¡Ö»ÈÝÄÉ¡¡

Object£¬ËùÒÔ¡¡nextElement£¨£©»á×ÔÈ»µØ²úÉúÒ»¸ö¡¡Object¡¡¾ä±ú¡£µ«ÎÒÃÇÖªµÀËüʵ¼ÊÊǸö¡¡Shape¡¡¾ä±ú£¬¶øÇÒÏ£Íû¡¡

½«Shape¡¡ÏûÏ¢·¢¸øÄǸö¶ÔÏó¡£ËùÒÔÐèÒªÓô«Í³µÄ¡¨£¨Shape£©¡¨·½Ê½ÔìÐͳÉÒ»¸öShape¡£ÕâÊÇRTTI¡¡×î»ù±¾µÄÐΡ¡

ʽ£¬ÒòΪÔÚ¡¡Java¡¡ÖУ¬ËùÓÐÔìÐͶ¼»áÔÚÔËÐÐÆÚ¼äµÃµ½¼ì²é£¬ÒÔÈ·±£ÆäÕýÈ·ÐÔ¡£ÄÇÕýÊÇRTTI¡¡µÄÒâÒåËùÔÚ£ºÔÚÔË¡¡

ÐÐÆÚ£¬¶ÔÏóµÄÀàÐÍ»áµÃµ½¼ø¶¨¡£¡¡¡¡

ÔÚÄ¿Ç°ÕâÖÖÇé¿öÏ£¬RTTI¡¡ÔìÐÍֻʵÏÖÁËÒ»²¿·Ö£ºObject¡¡ÔìÐͳɡ¡Shape£¬¶ø²»ÊÇÔìÐͳÉCircle£¬Square¡¡»òÕß¡¡

Triangle¡¡¡£ÄÇÊÇÓÉÓÚÎÒÃÇÄ¿Ç°Äܹ»¿Ï¶¨µÄΨһÊÂʵ¾ÍÊÇVector¡¡Àï³ä³â׿¸ºÎÐÎ×´£¬¶ø²»ÖªËüÃǵľßÌåÀà±ð¡£¡¡

ÔÚ±àÒëÆڼ䣬ÎÒÃǿ϶¨µÄÒÀ¾ÝÊÇÎÒÃÇ×Ô¼ºµÄ¹æÔò£»¶øÔÚ±àÒëÆڼ䣬ȴÊÇͨ¹ýÔìÐÍÀ´¿Ï¶¨ÕâÒ»µã¡£¡¡¡¡

ÏÖÔڵľÖÃæ»áÓɶàÐÎÐÔ¿ØÖÆ£¬¶øÇÒ»áΪShape¡¡µ÷ÓÃÊʵ±µÄ·½·¨£¬ÒÔ±ãÅжϾä±úµ½µ×ÊÇÌṩCircle£¬Square£¬¡¡

»¹ÊÇÌṩ¸ø¡¡Triangle¡¡¡£¶øÇÒÔÚÒ»°ãÇé¿öÏ£¬±ØÐë±£Ö¤²ÉÓöàÐÎÐÔ·½°¸¡£ÒòΪÎÒÃÇÏ£Íû×Ô¼ºµÄ´úÂ뾡¿ÉÄÜÉÙÖª¡¡

µÀһЩÓë¶ÔÏóµÄ¾ßÌåÀàÐÍÓйصÄÇé¿ö£¬Ö»½«×¢ÒâÁ¦·ÅÔÚijһÀà¶ÔÏó£¨ÕâÀïÊÇShape£©µÄ³£¹æÐÅÏ¢ÉÏ¡£Ö»ÓÐÕâ¡¡

Ñù£¬ÎÒÃǵĴúÂë²Å¸üÒ×ʵÏÖ¡¢Àí½âÒÔ¼°Ð޸ġ£ËùÒÔ˵¶àÐÎÐÔÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÒ»¸ö³£¹æÄ¿±ê¡£¡¡¡¡

È»¶ø£¬ÈôÅöµ½Ò»¸öÌØÊâµÄ³ÌÐòÉè¼ÆÎÊÌ⣬ֻÓÐÔÚÖªµÀ³£¹æ¾ä±úµÄÈ·ÇÐÀàÐͺ󣬲ÅÄÜ×îÈÝÒ׵ؽâ¾öÕâ¸öÎÊÌ⣬¡¡

Õâ¸öʱºòÓÖ¸ÃÔõô°ìÄØ£¿¾Ù¸öÀý×ÓÀ´Ëµ£¬ÎÒÃÇÓÐʱºòÏëÈÃ×Ô¼ºµÄÓû§½«Ä³Ò»¾ßÌåÀàÐ͵ļ¸ºÎÐÎ×´£¨ÈçÈý½Ç¡¡

ÐΣ©È«¶¼±ä³É×ÏÉ«£¬ÒÔ±ãÍ»³öÏÔʾËüÃÇ£¬²¢¿ìËÙÕÒ³öÕâÒ»ÀàÐ͵ÄËùÓÐÐÎ×´¡£´Ëʱ±ãÒªÓõ½RTTI¡¡¼¼Êõ£¬ÓÃËü²é¡¡

ѯij¸ö¡¡Shape¡¡¾ä±úÒýÓõÄ׼ȷÀàÐÍÊÇʲô¡£¡¡¡¡



11¡£1¡£1¡¡Class¡¡¶ÔÏó¡¡¡¡



ΪÀí½âRTTI¡¡ÔÚ¡¡Java¡¡ÀïÈçºÎ¹¤×÷£¬Ê×ÏȱØÐëÁ˽âÀàÐÍÐÅÏ¢ÔÚÔËÐÐÆÚÊÇÈçºÎ±íʾµÄ¡£ÕâʱҪÓõ½Ò»¸öÃûΪ¡¡

¡¡¡°Class¡¡¶ÔÏó¡±µÄÌØÊâÐÎʽµÄ¶ÔÏó£¬ÆäÖаüº¬ÁËÓëÀàÓйصÄÐÅÏ¢£¨ÓÐʱҲ°ÑËü½Ð×÷¡°ÔªÀࡱ£©¡£ÊÂʵÉÏ£¬ÎÒ¡¡

ÃÇÒªÓá¡Class¡¡¶ÔÏó´´½¨ÊôÓÚij¸öÀàµÄÈ«²¿¡°³£¹æ¡±»ò¡°ÆÕͨ¡±¶ÔÏ󡣡¡¡¡

¶ÔÓÚ×÷Ϊ³ÌÐòÒ»²¿·ÖµÄÿ¸öÀ࣬ËüÃǶ¼ÓÐÒ»¸ö¡¡Class¡¡¶ÔÏó¡£»»ÑÔÖ®£¬Ã¿´Îдһ¸öÐÂÀàʱ£¬Í¬Ê±Ò²»á´´½¨Ò»¸ö¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡334¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡336¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Class¡¡¶ÔÏ󣨸üÇ¡µ±µØ˵£¬ÊDZ£´æÔÚÒ»¸öÍêȫͬÃûµÄ¡£class¡¡ÎļþÖУ©¡£ÔÚÔËÐÐÆÚ£¬Ò»µ©ÎÒÃÇÏëÉú³ÉÄǸöÀàµÄ¡¡

Ò»¸ö¶ÔÏó£¬ÓÃÓÚÖ´ÐгÌÐòµÄ¡¡Java¡¡ÐéÄâ»ú£¨JVM£©Ê×ÏȾͻá¼ì²éÄǸöÀàÐ͵ÄClass¡¡¶ÔÏóÊÇ·ñÒѾ­ÔØÈë¡£ÈôÉÐδ¡¡

ÔØÈ룬JVM¡¡¾Í»á²éÕÒͬÃûµÄ¡£class¡¡Îļþ£¬²¢½«ÆäÔØÈë¡£ËùÒÔJava¡¡³ÌÐòÆô¶¯Ê±²¢²»ÊÇÍêÈ«ÔØÈëµÄ£¬ÕâÒ»µãÓëÐí¡¡

¶à´«Í³ÓïÑÔ¶¼²»Í¬¡£¡¡¡¡

Ò»µ©ÄǸöÀàÐ͵ÄClass¡¡¶ÔÏó½øÈëÄڴ棬¾ÍÓÃËü´´½¨ÄÇÒ»ÀàÐ͵ÄËùÓжÔÏ󡣡¡¡¡

ÈôÕâÖÖ˵·¨¶àÉÙÈÃÄã²úÉúÁËÒ»µã¶ùÃԻ󣬻òÕß²¢Ã»ÓÐÕæÕýÀí½âËü£¬ÏÂÃæÕâ¸öʾ·¶³ÌÐò»òÐíÄÜÌṩ½øÒ»²½µÄ°ï¡¡

Öú£º¡¡¡¡

¡¡¡¡

//£º¡¡SweetShop¡£java¡¡¡¡

//¡¡Examination¡¡of¡¡the¡¡way¡¡the¡¡class¡¡loader¡¡works¡¡¡¡

¡¡¡¡

class¡¡Candy¡¡£û¡¡¡¡

¡¡¡¡static¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Loading¡¡Candy¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Gum¡¡£û¡¡¡¡

¡¡¡¡static¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Loading¡¡Gum¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Cookie¡¡£û¡¡¡¡

¡¡¡¡static¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Loading¡¡Cookie¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡SweetShop¡¡£û¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨inside¡¡main¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Candy£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨After¡¡creating¡¡Candy¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Class¡£forName£¨¡¨Gum¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨ClassNotFoundException¡¡e£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨After¡¡Class¡£forName£¨¡±Gum¡±£©¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Cookie£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨After¡¡creating¡¡Cookie¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

¶Ôÿ¸öÀàÀ´Ëµ£¨Candy£¬Gum¡¡ºÍCookie£©£¬ËüÃǶ¼ÓÐÒ»¸ö¡¡static´Ó¾ä£¬ÓÃÓÚÔÚÀàÊ×´ÎÔØÈëʱִÐС£ÏàÓ¦µÄÐÅ¡¡

Ï¢»á´òÓ¡³öÀ´£¬¸æËßÎÒÃÇÔØÈëÊÇʲôʱºò½øÐеġ£ÔÚmain£¨£©ÖУ¬¶ÔÏóµÄ´´½¨´úÂëλÓÚ´òÓ¡Óï¾äÖ®¼ä£¬ÒÔ±ãÕì¡¡

²âÔØÈëʱ¼ä¡£¡¡¡¡

ÌرðÓÐȤµÄÒ»ÐÐÊÇ£º¡¡¡¡

Class¡£forName£¨¡¨Gum¡¨£©£»¡¡¡¡

¸Ã·½·¨ÊÇClass¡¡£¨¼´È«²¿Class¡¡Ëù´ÓÊôµÄ£©µÄÒ»¸ö¡¡static³ÉÔ±¡£¶ø¡¡Class¡¡¶ÔÏóºÍÆäËûÈκζÔÏó¶¼ÊÇÀàËƵģ¬¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡335¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡337¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

ËùÒÔÄܹ»»ñÈ¡ºÍ¿ØÖÆËüµÄÒ»¸ö¾ä±ú£¨×°ÔØÄ£¿é¾ÍÊǸÉÕâ¼þʵģ©¡£Îª»ñµÃ¡¡Class¡¡µÄÒ»¸ö¾ä±ú£¬Ò»¸ö°ì·¨ÊÇʹ¡¡

ÓÃforName£¨£©¡£ËüµÄ×÷ÓÃÊÇÈ¡µÃ°üº¬ÁËÄ¿±êÀàÎı¾Ãû×ÖµÄÒ»¸öString¡¡£¨×¢ÒâƴдºÍ´óСд£©¡£×îºó·µ»ØµÄÊÇ¡¡

Ò»¸öClass¡¡¾ä±ú¡£¡¡¡¡

¸Ã³ÌÐòÔÚij¸öJVM¡¡ÖеÄÊä³öÈçÏ£º¡¡¡¡

¡¡¡¡

inside¡¡main¡¡¡¡

Loading¡¡Candy¡¡¡¡

After¡¡creating¡¡Candy¡¡¡¡

Loading¡¡Gum¡¡¡¡

After¡¡Class¡£forName£¨¡¨Gum¡¨£©¡¡¡¡

Loading¡¡Cookie¡¡¡¡

After¡¡creating¡¡Cookie¡¡¡¡

¡¡¡¡

¿ÉÒÔ¿´µ½£¬Ã¿¸öClass¡¡Ö»ÓÐÔÚËüÐèÒªµÄʱºò²Å»áÔØÈ룬¶ø¡¡static¡¡³õʼ»¯¹¤×÷ÊÇÔÚÀàÔØÈëʱִÐеġ£¡¡¡¡

·Ç³£ÓÐȤµÄÊÇ£¬ÁíÒ»¸ö¡¡JVM¡¡µÄÊä³ö±ä³ÉÁËÁíÒ»¸öÑù×Ó£º¡¡¡¡

¡¡¡¡

Loading¡¡Candy¡¡¡¡

Loading¡¡Cookie¡¡¡¡

inside¡¡main¡¡¡¡

After¡¡creating¡¡Candy¡¡¡¡

Loading¡¡Gum¡¡¡¡

After¡¡Class¡£forName£¨¡¨Gum¡¨£©¡¡¡¡

After¡¡creating¡¡Cookie¡¡¡¡

¡¡¡¡

¿´À´JVM¡¡Í¨¹ý¼ì²émain£¨£©ÖеĴúÂ룬ÒѾ­Ô¤²âµ½Á˶ÔCandy¡¡ºÍCookie¡¡µÄÐèÒª£¬µ«È´¿´²»µ½Gum£¬ÒòΪËüÊÇͨ¡¡

¹ý¶ÔforName£¨£©µÄÒ»¸öµ÷Óô´½¨µÄ£¬¶ø²»ÊÇͨ¹ý¸üµäÐ͵Änew¡¡µ÷Ó᣾¡¹ÜÕâ¸öJVM¡¡Ò²´ïµ½ÁËÎÒÃÇÏ£ÍûµÄЧ¡¡

¹û£¬ÒòΪȷʵ»áÔÚÎÒÃÇÐèҪ֮ǰÔØÈëÄÇЩÀ࣬µ«È´²»Äܿ϶¨Õâ¶ùչʾµÄÐÐΪ°Ù·ÖÖ®°ÙÕýÈ·¡£¡¡¡¡

¡¡¡¡

1¡£¡¡Àà±ê¼Ç¡¡¡¡

ÔÚJava¡¡1¡£1¡¡ÖУ¬¿ÉÒÔ²ÉÓõڶþÖÖ·½Ê½À´²úÉúClass¡¡¶ÔÏóµÄ¾ä±ú£ºÊ¹Óá°Àà±ê¼Ç¡±¡£¶ÔÉÏÊö³ÌÐòÀ´Ëµ£¬¿´ÆðÀ´¡¡

¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡

Gum¡£class£»¡¡¡¡

ÕâÑù×ö²»½ö¸ü¼Ó¼òµ¥£¬¶øÇÒ¸ü°²È«£¬ÒòΪËü»áÔÚ±àÒëÆÚ¼äµÃµ½¼ì²é¡£ÓÉÓÚËüÈ¡ÏûÁ˶Է½·¨µ÷ÓõÄÐèÒª£¬ËùÒÔ¡¡

Ö´ÐеÄЧÂÊÒ²»á¸ü¸ß¡£¡¡¡¡

Àà±ê¼Ç²»½ö¿ÉÒÔÓ¦ÓÃÓÚÆÕͨÀ࣬Ҳ¿ÉÒÔÓ¦ÓÃÓÚ½Ó¿Ú¡¢Êý×éÒÔ¼°»ù±¾Êý¾ÝÀàÐÍ¡£³ý´ËÒÔÍ⣬Õë¶ÔÿÖÖ»ù±¾Êý¾Ý¡¡

ÀàÐ͵ķâ×°Æ÷À࣬Ëü»¹´æÔÚÒ»¸öÃûΪTYPE¡¡µÄ±ê×¼×ֶΡ£TYPE¡¡×ֶεÄ×÷ÓÃÊÇΪÏà¹ØµÄ»ù±¾Êý¾ÝÀàÐͲúÉú¡¡Class¡¡

¶ÔÏóµÄÒ»¸ö¾ä±ú£¬ÈçÏÂËùʾ£º¡¡¡¡

¡¡¡¡



¡£¡£¡£¡¡is¡¡equivalent¡¡to¡¡¡£¡£¡£¡¡¡¡



boolean¡£class¡¡Boolean¡£TYPE¡¡¡¡



char¡£class¡¡¡¡¡¡¡¡Character¡£TYPE¡¡¡¡



byte¡£class¡¡¡¡¡¡Byte¡£TYPE¡¡¡¡



short¡£class¡¡¡¡Short¡£TYPE¡¡¡¡



int¡£class¡¡¡¡¡¡¡¡¡¡Integer¡£TYPE¡¡¡¡



long¡£class¡¡¡¡¡¡¡¡Long¡£TYPE¡¡¡¡



float¡£class¡¡¡¡Float¡£TYPE¡¡¡¡



double¡£class¡¡Double¡£TYPE¡¡¡¡



void¡£class¡¡¡¡¡¡Void¡£TYPE¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡336¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡338¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

11¡£1¡£2¡¡ÔìÐÍÇ°µÄ¼ì²é¡¡¡¡



Æù½ñΪֹ£¬ÎÒÃÇÒÑÖªµÄ¡¡RTTI¡¡ÐÎʽ°üÀ¨£º¡¡¡¡

£¨1£©¡¡¾­µäÔìÐÍ£¬È硨£¨Shape£©¡¨£¬ËüÓá¡RTTI¡¡È·±£ÔìÐ͵ÄÕýÈ·ÐÔ£¬²¢ÔÚÓöµ½Ò»¸öʧ°ÜµÄÔìÐͺó²úÉúÒ»¸ö¡¡

ClassCastException¡¡Î¥Àý¡£¡¡¡¡

£¨2£©¡¡´ú±í¶ÔÏóÀàÐ͵ÄClass¡¡¶ÔÏ󡣿ɲéѯClass¡¡¶ÔÏ󣬻ñÈ¡ÓÐÓõÄÔËÐÐÆÚ×ÊÁÏ¡£¡¡¡¡

¡¡¡¡

ÔÚC£«£«ÖУ¬¾­µäµÄ¡¨£¨Shape£©¡¨ÔìÐͲ¢²»Ö´ÐÐRTTI¡¡¡£ËüÖ»ÊǼòµ¥µØ¸æËß±àÒëÆ÷½«¶ÔÏóµ±×÷ÐÂÀàÐÍ´¦Àí¡£¶øJava¡¡

ÒªÖ´ÐÐÀàÐͼì²é£¬Õâͨ³£½Ð×÷¡°ÀàÐÍ°²È«¡±µÄÏÂËÝÔìÐÍ¡£Ö®ËùÒԽС°ÏÂËÝÔìÐÍ¡±£¬ÊÇÓÉÓÚÀà·Ö²ã½á¹¹µÄÀúÊ·¡¡

ÅÅÁз½Ê½Ôì³ÉµÄ¡£Èô½«Ò»¸öCircle¡¡£¨Ô²£©ÔìÐ͵½Ò»¸öShape¡¡£¨¼¸ºÎÐÎ×´£©£¬¾Í½Ð×öÉÏËÝÔìÐÍ£¬ÒòΪÔ

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨1£©

Äã¿ÉÄÜϲ»¶µÄ