ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ54²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
¡¡£¨RTTI¡¡£©¡£ÏÂÃæÕâ¸öÀý×ÓÏò´ó¼ÒÑÝʾÁËRTTI¡¡µÄÐÐΪ£º¡¡¡¡
¡¡¡¡
//£º¡¡RTTI¡£java¡¡¡¡
//¡¡Downcasting¡¡&¡¡Run¡Time¡¡Type¡¡¡¡
//¡¡Identification¡¡£¨RTTI£©¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
class¡¡Useful¡¡£û¡¡¡¡
¡¡¡¡public¡¡void¡¡f£¨£©¡¡£û£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡g£¨£©¡¡£û£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡MoreUseful¡¡extends¡¡Useful¡¡£û¡¡¡¡
¡¡¡¡public¡¡void¡¡f£¨£©¡¡£û£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡g£¨£©¡¡£û£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡u£¨£©¡¡£û£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡v£¨£©¡¡£û£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡w£¨£©¡¡£û£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡RTTI¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Useful£§£§¡¡x¡¡=¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Useful£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡MoreUseful£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡x£§0£§¡£f£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡x£§1£§¡£g£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡pile¡time£º¡¡method¡¡not¡¡found¡¡in¡¡Useful£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡207¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡209¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡//£¡¡¡x£§1£§¡£u£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£¨£¨MoreUseful£©x£§1£§£©¡£u£¨£©£»¡¡//¡¡Downcast/RTTI¡¡¡¡
¡¡¡¡¡¡¡¡£¨£¨MoreUseful£©x£§0£§£©¡£u£¨£©£»¡¡//¡¡Exception¡¡thrown¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ºÍÔÚʾÒâͼÖÐÒ»Ñù£¬MoreUseful¡¡£¨¸üÓÐÓõģ©¶ÔUseful¡¡£¨ÓÐÓõģ©µÄ½Ó¿Ú½øÐÐÁËÀ©Õ¹¡£µ«ÓÉÓÚËüÊǼ̳ÐÀ´¡¡
µÄ£¬ËùÒÔÒ²ÄÜÉÏËÝÔìÐ͵½Ò»¸öUseful¡£ÎÒÃÇ¿É¿´µ½Õâ»áÔÚ¶ÔÊý×éx¡¡£¨Î»ÓÚmain£¨£©ÖУ©½øÐгõʼ»¯µÄʱºò·¢¡¡
Éú¡£ÓÉÓÚÊý×éÖеÄÁ½¸ö¶ÔÏó¶¼ÊôÓÚ¡¡Useful¡¡À࣬ËùÒԿɽ«¡¡f£¨£©ºÍg£¨£©·½·¨Í¬Ê±·¢¸øËüÃÇÁ½¸ö¡£¶øÇÒ¼ÙÈçÊÔͼµ÷¡¡
ÓÃu£¨£©¡¡£¨ËüÖ»´æÔÚÓÚMoreUseful£©£¬¾Í»áÊÕµ½Ò»Ìõ±àÒëÆÚ³ö´íÌáʾ¡£¡¡¡¡
ÈôÏë·ÃÎÊÒ»¸öMoreUseful¡¡¶ÔÏóµÄÀ©Õ¹½Ó¿Ú£¬¿ÉÊÔ׎øÐÐÏÂËÝÔìÐÍ¡£Èç¹ûËüÊÇÕýÈ·µÄÀàÐÍ£¬ÕâÒ»Ðж¯¾Í»á³É¡¡
¹¦¡£·ñÔò£¬¾Í»áµÃµ½Ò»¸öClassCastException¡¡¡£ÎÒÃDz»±ØΪÕâ¸öÎ¥Àý±àдÈκÎÌØÊâµÄ´úÂ룬ÒòΪËüÖ¸³öµÄÊÇ¡¡
Ò»¸ö¿ÉÄÜÔÚ³ÌÐòÖÐÈκεط½·¢ÉúµÄÒ»¸ö±à³Ì´íÎ󡣡¡¡¡
RTTI¡¡µÄÒâÒåÔ¶²»½ö½ö·´Ó³ÔÚÔìÐÍ´¦ÀíÉÏ¡£ÀýÈ磬ÔÚÊÔͼÏÂËÝÔìÐÍ֮ǰ£¬¿Éͨ¹ýÒ»ÖÖ·½·¨Á˽â×Ô¼º´¦ÀíµÄÊÇʲ¡¡
ôÀàÐÍ¡£Õû¸öµÚ¡¡11Õ¶¼ÔÚ½²Êö¡¡Java¡¡ÔËÐÐÆÚÀàÐͱêʶµÄ·½·½ÃæÃæ¡£¡¡¡¡
7¡£9¡¡×ܽᡡ¡¡
¡¡¡°¶àÐÎÐÔ¡±Òâζ×Å¡°²»Í¬µÄÐÎʽ¡±¡£ÔÚÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÖУ¬ÎÒÃÇÓÐÏàͬµÄÍâ¹Û£¨»ù´¡ÀàµÄͨÓýӿڣ©ÒÔ¡¡
¼°Ê¹ÓÃÄǸöÍâ¹ÛµÄ²»Í¬ÐÎʽ£º¶¯Ì¬°ó¶¨»ò×éÖ¯µÄ¡¢²»Í¬°æ±¾µÄ·½·¨¡£¡¡¡¡
ͨ¹ýÕâÒ»ÕµÄѧϰ£¬´ó¼ÒÒÑÖªµÀ¼ÙÈç²»ÀûÓÃÊý¾Ý³éÏóÒÔ¼°¼Ì³Ð¼¼Êõ£¬¾Í²»¿ÉÄÜÀí½â¡¢ÉõÖÁÈ¥´´½¨¶àÐÎÐÔµÄÒ»¡¡
¸öÀý×Ó¡£¶àÐÎÐÔÊÇÒ»ÖÖ²»¿É¶ÀÁ¢Ó¦ÓõÄÌØÐÔ£¨¾ÍÏóÒ»¸ö¡¡switch¡¡Óï¾ä£©£¬Ö»¿ÉÓëÆäËûÔªËØÐͬʹÓá£ÎÒÃÇÓ¦½«¡¡
Æä×÷ΪÀà×ÜÌå¹ØϵµÄÒ»²¿·ÖÀ´¿´´ý¡£ÈËÃǾ³£»ìÏý¡¡Java¡¡ÆäËûµÄ¡¢·ÇÃæÏò¶ÔÏóµÄÌØÐÔ£¬±ÈÈç·½·¨¹ýÔصȣ¬ÕâЩ¡¡
ÌØÐÔÓÐʱҲ¾ßÓÐÃæÏò¶ÔÏóµÄijЩÌØÕ÷¡£µ«²»Òª±»ÓÞŪ£ºÈç¹ûÒÔºóûÓа󶨣¬¾Í²»³ÉÆäΪ¶àÐÎÐÔ¡£¡¡¡¡
ΪʹÓöàÐÎÐÔÄËÖÁÃæÏò¶ÔÏóµÄ¼¼Êõ£¬ÌرðÊÇÔÚ×Ô¼ºµÄ³ÌÐòÖУ¬±ØÐ뽫×Ô¼ºµÄ±à³ÌÊÓÒ°À©Õ¹µ½²»½ö°üÀ¨µ¥¶ÀÒ»¡¡
¸öÀàµÄ³ÉÔ±ºÍÏûÏ¢£¬Ò²Òª°üÀ¨ÀàÓëÀàÖ®¼äµÄÒ»ÖÂÐÔÒÔ¼°ËüÃǵĹØϵ¡£¾¡¹ÜÕâÒªÇóѧϰʱ¸¶³ö¸ü¶àµÄ¾«Á¦£¬µ«¡¡
È´ÊǷdz£ÖµµÃµÄ£¬ÒòΪֻÓÐÕâÑù²Å¿ÉÕæÕýÓÐЧµØ¼Ó¿ì×Ô¼ºµÄ±à³ÌËٶȡ¢¸üºÃµØ×éÖ¯´úÂë¡¢¸üÈÝÒ××ö³ö°üÈÝÃæ¡¡
¹ãµÄ³ÌÐòÒÔ¼°¸üÒ׶Ô×Ô¼ºµÄ´úÂë½øÐÐά»¤ÓëÀ©Õ¹¡£¡¡¡¡
7¡£10¡¡Á·Ï°¡¡¡¡
£¨1£©¡¡´´½¨Rodent¡¡£¨Äö³Ý¶¯Î£ºMouse¡¡£¨ÀÏÊ󣩣»Gerbil¡¡£¨÷úÊ󣩣»Hamster¡¡£¨´ó¼ÕÊ󣩵ȵÄÒ»¸ö¼Ì³Ð·Ö¼¶½á¡¡
¹¹¡£ÔÚ»ù´¡ÀàÖУ¬ÌṩÊÊÓÃÓÚËùÓС¡Rodent¡¡µÄ·½·¨£¬²¢ÔÚÑÜÉúÀàÖи²¸ÇËüÃÇ£¬´Ó¶ø¸ù¾Ý²»Í¬ÀàÐ͵ÄRodent¡¡²É¡¡
È¡²»Í¬µÄÐж¯¡£´´½¨Ò»¸öRodent¡¡Êý×飬ÔÚÆäÖÐÌî³ä²»Í¬ÀàÐ͵ġ¡Rodent£¬È»ºóµ÷ÓÃ×Ô¼ºµÄ»ù´¡Àà·½·¨£¬¿´¿´¡¡
»áÓÐʲôÇé¿ö·¢Éú¡£¡¡¡¡
£¨2£©¡¡ÐÞ¸ÄÁ·Ï°¡¡1£¬Ê¹Rodent¡¡³ÉΪһ¸ö½Ó¿Ú¡£¡¡¡¡
£¨3£©¡¡¸ÄÕýWindError¡£java¡¡ÖеÄÎÊÌâ¡£¡¡¡¡
£¨4£©¡¡ÔÚGreenhouseControls¡£java¡¡ÖУ¬Ìí¼ÓEvent¡¡ÄÚ²¿À࣬ʹÆäÄÜ´ò¿ªºÍ¹Ø±Õ·çÉÈ¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡208¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡210¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡8¡¡Õ¡¡¶ÔÏóµÄÈÝÄÉ¡¡¡¡
¡¡¡¡
¡¡¡°Èç¹ûÒ»¸ö³ÌÐòÖ»º¬ÓÐÊýÁ¿¹Ì¶¨µÄ¶ÔÏ󣬶øÇÒÒÑÖªËüÃǵĴæÔÚʱ¼ä£¬ÄÇôÕâ¸ö³ÌÐò¿ÉÒÔ˵ÊÇÏ൱¼òµ¥µÄ¡£¡±¡¡¡¡
¡¡¡¡
ͨ³££¬ÎÒÃǵijÌÐòÐèÒª¸ù¾Ý³ÌÐòÔËÐÐʱ²ÅÖªµÀµÄһЩ±ê×¼´´½¨Ð¶ÔÏó¡£Èô·Ç³ÌÐòÕýʽÔËÐУ¬·ñÔòÎÒÃǸù±¾²»¡¡
ÖªµÀ×Ô¼ºµ½µ×ÐèÒª¶àÉÙÊýÁ¿µÄ¶ÔÏó£¬ÉõÖÁ²»ÖªµÀËüÃǵÄ׼ȷÀàÐÍ¡£ÎªÁËÂú×ã³£¹æ±à³ÌµÄÐèÒª£¬ÎÒÃÇÒªÇóÄÜÔÚ¡¡
ÈκÎʱºò¡¢Èκεص㴴½¨ÈÎÒâÊýÁ¿µÄ¶ÔÏó¡£ËùÒÔ²»¿ÉÒÀÀµÒ»¸öÒÑÃüÃûµÄ¾ä±úÀ´ÈÝÄÉ×Ô¼ºµÄÿһ¸ö¶ÔÏ󣬾ÍÏó¡¡
ÏÂÃæÕâÑù£º¡¡¡¡
MyObject¡¡myHandle£»¡¡¡¡
ÒòΪ¸ù±¾²»ÖªµÀ×Ô¼ºÊµ¼ÊÐèÒª¶àÉÙÕâÑùµÄ¶«Î÷¡£¡¡¡¡
Ϊ½â¾öÕâ¸ö·Ç³£¹Ø¼üµÄÎÊÌ⣬Java¡¡ÌṩÁËÈÝÄɶÔÏ󣨻òÕ߶ÔÏóµÄ¾ä±ú£©µÄ¶àÖÖ·½Ê½¡£ÆäÖÐÄÚ½¨µÄÀàÐÍÊÇÊý¡¡
×飬ÎÒÃÇ֮ǰÒÑÌÖÂÛ¹ýËü£¬±¾ÕÂ×¼±¸¼ÓÉî´ó¼Ò¶ÔËüµÄÈÏʶ¡£´ËÍ⣬Java¡¡µÄ¹¤¾ß£¨ÊµÓóÌÐò£©¿âÌṩÁËһЩ¡¡
¡¡¡°¼¯ºÏÀࡱ£¨Òà³Æ×÷¡°ÈÝÆ÷Àࡱ£¬µ«¸ÃÊõÓïÒÑÓÉAWT¡¡Ê¹Óã¬ËùÒÔÕâÀïÈÔ²ÉÓá°¼¯ºÏ¡±ÕâÒ»³Æºô£©¡£ÀûÓÃÕâЩ¡¡
¼¯ºÏÀ࣬ÎÒÃÇ¿ÉÒÔÈÝÄÉÄËÖÁ²Ù×Ý×Ô¼ºµÄ¶ÔÏó¡£±¾ÕµÄÊ£Óಿ·Ö»á¾Í´Ë½øÐÐÏêϸÌÖÂÛ¡£¡¡¡¡
8¡£1¡¡Êý×é¡¡¡¡
¶ÔÊý×éµÄ´ó¶àÊý±ØÒªµÄ½éÉÜÒÑÔÚµÚ¡¡4¡¡ÕµÄ×îºóÒ»½Ú½øÐС£Í¨¹ýÄÇÀïµÄѧϰ£¬´ó¼ÒÒÑÖªµÀ×Ô¼º¸ÃÈçºÎ¶¨Òå¼°³õ¡¡
ʼ»¯Ò»¸öÊý×é¡£¶ÔÏóµÄÈÝÄÉÊDZ¾ÕµÄÖص㣬¶øÊý×éÖ»ÊÇÈÝÄɶÔÏóµÄÒ»ÖÖ·½Ê½¡£µ«ÓÉÓÚ»¹ÓÐÆäËû´óÁ¿·½·¨¿ÉÈÝ¡¡
ÄÉÊý×飬ËùÒÔÊÇÄÄЩµØ·½Ê¹Êý×éÏÔµÃÈç´ËÌرðÄØ£¿¡¡¡¡
ÓÐÁ½·½ÃæµÄÎÊÌ⽫Êý×éÓëÆäËû¼¯ºÏÀàÐÍÇø·Ö¿ªÀ´£ºÐ§ÂʺÍÀàÐÍ¡£¶ÔÓÚJava¡¡À´Ëµ£¬Îª±£´æºÍ·ÃÎÊһϵÁжÔÏó¡¡
¡¡£¨Êµ¼ÊÊǶÔÏóµÄ¾ä±ú£©Êý×飬×îÓÐЧµÄ·½·¨Äª¹ýÓÚÊý×é¡£Êý×éʵ¼Ê´ú±íÒ»¸ö¼òµ¥µÄÏßÐÔÐòÁУ¬ËüʹµÃÔªËصġ¡
·ÃÎÊËٶȷdz£¿ì£¬µ«ÎÒÃÇȴҪΪÕâÖÖËٶȸ¶³ö´ú¼Û£º´´½¨Ò»¸öÊý×é¶ÔÏóʱ£¬ËüµÄ´óСÊǹ̶¨µÄ£¬¶øÇÒ²»¿ÉÔÚ¡¡
ÄǸöÊý×é¶ÔÏóµÄ¡°´æÔÚʱ¼ä¡±ÄÚ·¢Éú¸Ä±ä¡£¿É´´½¨Ìض¨´óСµÄÒ»¸öÊý×飬Ȼºó¼ÙÈçÓùâÁË´æ´¢¿Õ¼ä£¬¾ÍÔÙ´´¡¡
½¨Ò»¸öÐÂÊý×飬½«ËùÓоä±ú´Ó¾ÉÊý×éÒƵ½ÐÂÊý×é¡£ÕâÊôÓÚ¡°Ê¸Á¿¡±£¨Vector£©ÀàµÄÐÐΪ£¬±¾ÕÂÉÔºó»¹»áÏêϸ¡¡
ÌÖÂÛËü¡£È»¶ø£¬ÓÉÓÚΪÕâÖÖ´óСµÄÁé»îÐÔÒª¸¶³ö½Ï´óµÄ´ú¼Û£¬ËùÒÔÎÒÃÇÈÏΪʸÁ¿µÄЧÂʲ¢Ã»ÓÐÊý×é¸ß¡£¡¡¡¡
C£«£«µÄʸÁ¿ÀàÖªµÀ×Ô¼ºÈÝÄɵÄÊÇʲôÀàÐ͵ĶÔÏ󣬵«Í¬¡¡Java¡¡µÄÊý×éÏà±È£¬ËüÈ´ÓÐÒ»¸öÃ÷ÏÔµÄȱµã£ºC£«£«Ê¸Á¿Àà¡¡
µÄoperator£§£§²»ÄܽøÐз¶Î§¼ì²é£¬ËùÒÔºÜÈÝÒ׳¬³ö±ß½ç£¨È»¶ø£¬Ëü¿ÉÒÔ²éѯ¡¡vector¡¡Óжà´ó£¬¶øÇÒat£¨£©·½·¨¡¡
ȷʵÄܽøÐз¶Î§¼ì²é£©¡£ÔÚJava¡¡ÖУ¬ÎÞÂÛʹÓõÄÊÇÊý×黹ÊǼ¯ºÏ£¬¶¼»á½øÐз¶Î§¼ì²é¡ª¡ªÈô³¬¹ý±ß½ç£¬¾Í»á¡¡
»ñµÃÒ»¸öRuntimeException¡¡£¨ÔËÐÐÆÚÎ¥Àý£©´íÎó¡£ÕýÈç´ó¼ÒÔÚµÚ9¡¡Õ»áѧµ½µÄÄÇÑù£¬ÕâÀàÎ¥ÀýÖ¸³öµÄÊÇÒ»¸ö¡¡
³ÌÐòÔ±´íÎó£¬ËùÒÔ²»ÐèÒªÔÚ´úÂëÖмì²éËü¡£ÔÚÁíÒ»·½Ã棬ÓÉÓÚ¡¡C£«£«µÄvector¡¡²»½øÐз¶Î§¼ì²é£¬ËùÒÔ·ÃÎÊËٶȡ¡
½Ï¿ì¡ª¡ªÔÚ¡¡Java¡¡ÖУ¬ÓÉÓÚ¶ÔÊý×éºÍ¼¯ºÏ¶¼Òª½øÐз¶Î§¼ì²é£¬ËùÒÔ¶ÔÐÔÄÜÓÐÒ»¶¨µÄÓ°Ïì¡£¡¡¡¡
±¾Õ»¹ÒªÑ§Ï°ÁíÍ⼸ÖÖ³£¼ûµÄ¼¯ºÏÀࣺVector¡¡£¨Ê¸Á¿£©¡¢Stack¡¡£¨¶ÑÕ»£©ÒÔ¼°Hashtable¡¡£¨É¢ÁÐ±í£©¡£ÕâЩÀà¡¡
¶¼Éæ¼°¶Ô¶ÔÏóµÄ´¦Àí¡ª¡ªºÃÏóËüÃÇûÓÐÌض¨µÄÀàÐÍ¡£»»ÑÔÖ®£¬ËüÃǽ«Æäµ±×÷¡¡Object¡¡ÀàÐÍ´¦Àí£¨Object¡¡ÀàÐÍ¡¡
ÊÇJava¡¡ÖÐËùÓÐÀàµÄ¡°¸ù¡±Àࣩ¡£´Óij¸ö½Ç¶È¿´£¬ÕâÖÖ´¦Àí·½·¨ÊǷdz£ºÏÀíµÄ£ºÎÒÃǽöÐè¹¹½¨Ò»¸ö¼¯ºÏ£¬È»ºó¡¡
ÈκÎJava¡¡¶ÔÏ󶼿ÉÒÔ½øÈëÄǸö¼¯ºÏ£¨³ý»ù±¾Êý¾ÝÀàÐÍÍ⡪¡ª¿ÉÓÃJava¡¡µÄ»ù±¾ÀàÐÍ·â×°ÀཫÆä×÷Ϊ³£ÊýÖÃÈë¡¡
¼¯ºÏ£¬»òÕß½«Æä·â×°µ½×Ô¼ºµÄÀàÄÚ£¬×÷Ϊ¿ÉÒԱ仯µÄֵʹÓã©¡£ÕâÔÙÒ»´Î·´Ó³ÁËÊý×éÓÅÓÚ³£¹æ¼¯ºÏ£º´´½¨Ò»¡¡
¸öÊý×éʱ£¬¿ÉÁîÆäÈÝÄÉÒ»ÖÖÌض¨µÄÀàÐÍ¡£ÕâÒâζ×ſɽøÐбàÒëÆÚÀàÐͼì²é£¬Ô¤·À×Ô¼ºÉèÖÃÁË´íÎóµÄÀàÐÍ£¬»ò¡¡
Õß´íÎóÖ¸¶¨ÁË×¼±¸ÌáÈ¡µÄÀàÐÍ¡£µ±È»£¬ÔÚ±àÒëÆÚ»òÕßÔËÐÐÆÚ£¬Java¡¡»á·ÀÖ¹ÎÒÃǽ«²»µ±µÄÏûÏ¢·¢¸øÒ»¸ö¶ÔÏ󡣡¡
ËùÒÔÎÒÃDz»±Ø¿¼ÂÇ×Ô¼ºµÄÄÄÖÖ×ö·¨¸ü¼ÓΣÏÕ£¬Ö»Òª±àÒëÆ÷Äܼ°Ê±µØÖ¸³ö´íÎó£¬Í¬Ê±ÔÚÔËÐÐÆÚ¼ä¼Ó¿ìËٶȣ¬Ä¿¡¡
µÄÒ²¾Í´ïµ½ÁË¡£´ËÍ⣬Óû§ºÜÉÙ»á¶ÔÒ»´ÎÎ¥Àýʼþ¸Ðµ½·Ç³£¾ªÑȵġ£¡¡¡¡
¿¼Âǵ½Ö´ÐÐЧÂʺÍÀàÐͼì²é£¬Ó¦¾¡¿ÉÄܵزÉÓÃÊý×顣Ȼ¶ø£¬µ±ÎÒÃÇÊÔͼ½â¾öÒ»¸ö¸ü³£¹æµÄÎÊÌâʱ£¬Êý×éµÄ¾Ö¡¡
ÏÞÒ²¿ÉÄÜÏԵ÷dz£Ã÷ÏÔ¡£ÔÚÑо¿¹ýÊý×éÒԺ󣬱¾ÕÂÊ£ÓàµÄ²¿·Ö½«°ÑÖصã·Åµ½Java¡¡ÌṩµÄ¼¯ºÏÀàÉíÉÏ¡£¡¡¡¡
8¡£1¡£1¡¡¡¡Êý×éºÍµÚÒ»Àà¶ÔÏó¡¡¡¡
ÎÞÂÛʹÓõÄÊý×éÊôÓÚʲôÀàÐÍ£¬Êý×é±êʶ·ûʵ¼Ê¶¼ÊÇÖ¸ÏòÕæʵ¶ÔÏóµÄÒ»¸ö¾ä±ú¡£ÄÇЩ¶ÔÏó±¾ÉíÊÇÔÚÄÚ´æ¡¡
¡¡¡°¶Ñ¡±Àï´´½¨µÄ¡£¶Ñ¶ÔÏó¼È¿É¡°Òþʽ¡±´´½¨£¨¼´Ä¬ÈϲúÉú£©£¬Òà¿É¡°ÏÔʽ¡±´´½¨£¨¼´Ã÷È·Ö¸¶¨£¬ÓÃÒ»¸önew¡¡
±í´ïʽ£©¡£¶Ñ¶ÔÏóµÄÒ»²¿·Ö£¨Êµ¼ÊÊÇÎÒÃÇÄÜ·ÃÎʵÄΨһ×ֶλò·½·¨£©ÊÇÖ»¶ÁµÄ¡¡length¡¡£¨³¤¶È£©³ÉÔ±£¬Ëü¸æËß¡¡
ÎÒÃÇÄǸöÊý×é¶ÔÏóÀï×î¶àÄÜÈÝÄɶàÉÙÔªËØ¡£¶ÔÓÚÊý×é¶ÔÏ󣬡°£§£§¡±Óï·¨ÊÇÎÒÃÇÄܲÉÓõÄΨһÁíÀà·ÃÎÊ·½·¨¡£¡¡¡¡
ÏÂÃæÕâ¸öÀý×ÓչʾÁ˶ÔÊý×é½øÐгõʼ»¯µÄ²»Í¬·½Ê½£¬ÒÔ¼°ÈçºÎ½«Êý×é¾ä±ú·ÖÅä¸ø²»Í¬µÄÊý×é¶ÔÏó¡£ËüÒ²½Òʾ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡209¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡211¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
³ö¶ÔÏóÊý×éºÍ»ù±¾Êý¾ÝÀàÐÍÊý×éÔÚʹÓ÷½·¨Éϼ¸ºõÊÇÍêÈ«Ò»Öµġ£Î¨Ò»µÄ²î±ðÔÚÓÚ¶ÔÏóÊý×éÈÝÄɵÄÊǾä±ú£¬¡¡
¶ø»ù±¾Êý¾ÝÀàÐÍÊý×éÈÝÄɵÄÊǾßÌåµÄÊýÖµ£¨ÈôÔÚÖ´Ðд˳ÌÐòʱÓöµ½À§ÄÑ£¬Çë²Î¿¼µÚ3¡¡Õµġ°¸³Öµ¡±Ð¡½Ú£©£º¡¡¡¡
¡¡¡¡
//£º¡¡ArraySize¡£java¡¡¡¡
//¡¡Initialization¡¡&¡¡re¡assignment¡¡of¡¡arrays¡¡¡¡
package¡¡c08£»¡¡¡¡
¡¡¡¡
class¡¡Weeble¡¡£û£ý¡¡//¡¡A¡¡small¡¡mythical¡¡creature¡¡¡¡
¡¡¡¡
public¡¡class¡¡ArraySize¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Arrays¡¡of¡¡objects£º¡¡¡¡
¡¡¡¡¡¡¡¡Weeble£§£§¡¡a£»¡¡//¡¡Null¡¡handle¡¡¡¡
¡¡¡¡¡¡¡¡Weeble£§£§¡¡b¡¡=¡¡new¡¡Weeble£§5£§£»¡¡//¡¡Null¡¡handles¡¡¡¡
¡¡¡¡¡¡¡¡Weeble£§£§¡¡c¡¡=¡¡new¡¡Weeble£§4£§£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡c¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡c£§i£§¡¡=¡¡new¡¡Weeble£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Weeble£§£§¡¡d¡¡=¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Weeble£¨£©£»¡¡new¡¡Weeble£¨£©£»¡¡new¡¡Weeble£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡pile¡¡error£º¡¡variable¡¡a¡¡not¡¡initialized£º¡¡¡¡
¡¡¡¡¡¡¡¡//£¡System¡£out¡£println£¨¡¨a¡£length=¡¨¡¡£«¡¡a¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨b¡£length¡¡=¡¡¡¨¡¡£«¡¡b¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡The¡¡handles¡¡inside¡¡the¡¡array¡¡are¡¡¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡automatically¡¡initialized¡¡to¡¡null£º¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡b¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨b£§¡¨¡¡£«¡¡i¡¡£«¡¡¡¨£§=¡¨¡¡£«¡¡b£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨c¡£length¡¡=¡¡¡¨¡¡£«¡¡c¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨d¡£length¡¡=¡¡¡¨¡¡£«¡¡d¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡a¡¡=¡¡d£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨a¡£length¡¡=¡¡¡¨¡¡£«¡¡a¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Java¡¡1¡£1¡¡initialization¡¡syntax£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡¡=¡¡new¡¡Weeble£§£§¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Weeble£¨£©£»¡¡new¡¡Weeble£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨a¡£length¡¡=¡¡¡¨¡¡£«¡¡a¡£length£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Arrays¡¡of¡¡primitives£º¡¡¡¡
¡¡¡¡¡¡¡¡int£§£§¡¡e£»¡¡//¡¡Null¡¡handle¡¡¡¡
¡¡¡¡¡¡¡¡int£§£§¡¡f¡¡=¡¡new¡¡int£§5£§£»¡¡¡¡
¡¡¡¡¡¡¡¡int£§£§¡¡g¡¡=¡¡new¡¡int£§4£§£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡g¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡g£§i£§¡¡=¡¡i*i£»¡¡¡¡
¡¡¡¡¡¡¡¡int£§£§¡¡h¡¡=¡¡£û¡¡11£»¡¡47£»¡¡93¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡pile¡¡error£º¡¡variable¡¡e¡¡not¡¡initialized£º¡¡¡¡
¡¡¡¡¡¡¡¡//£¡System¡£out¡£println£¨¡¨e¡£length=¡¨¡¡£«¡¡e¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨f¡£length¡¡=¡¡¡¨¡¡£«¡¡f¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡The¡¡primitives¡¡inside¡¡the¡¡array¡¡are¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡automatically¡¡initialized¡¡to¡¡zero£º¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡f¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨f£§¡¨¡¡£«¡¡i¡¡£«¡¡¡¨£§=¡¨¡¡£«¡¡f£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨g¡£length¡¡=¡¡¡¨¡¡£«¡¡g¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡210¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡212¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨h¡£length¡¡=¡¡¡¨¡¡£«¡¡h¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡e¡¡=¡¡h£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨e¡£length¡¡=¡¡¡¨¡¡£«¡¡e¡£length£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Java¡¡1¡£1¡¡initialization¡¡syntax£º¡¡¡¡
¡¡¡¡¡¡¡¡e¡¡=¡¡new¡¡int£§£§¡¡£û¡¡1£»¡¡2¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨e¡£length¡¡=¡¡¡¨¡¡£«¡¡e¡£length£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
Here¡¯s¡¡the¡¡output¡¡from¡¡the¡¡program£º¡¡¡¡
¡¡¡¡
¡¡¡¡
b¡£length¡¡=¡¡5¡¡¡¡
b£§0£§=null¡¡¡¡
b£§1£§=null¡¡¡¡
b£§2£§=null¡¡¡¡
b£§3£§=null¡¡¡¡
b£§4£§=null¡¡¡¡
c¡£length¡¡=¡¡4¡¡¡¡
d¡£length¡¡=¡¡3¡¡¡¡
a¡£length¡¡=¡¡3¡¡¡¡
a¡£length¡¡=¡¡2¡¡¡¡
f¡£length¡¡=¡¡5¡¡¡¡
f£§0£§=0¡¡¡¡
f£§1£§=0¡¡¡¡
f£§2£§=0¡¡¡¡
f£§3£§=0¡¡¡¡
f£§4£§=0¡¡¡¡
g¡£length¡¡=¡¡4¡¡¡¡
h¡£length¡¡=¡¡3¡¡¡¡
e¡£length¡¡=¡¡3¡¡¡¡
e¡£length¡¡=¡¡2¡¡¡¡
¡¡¡¡
ÆäÖУ¬Êý×é¡¡a¡¡Ö»Êdzõʼ»¯³ÉÒ»¸ö¡¡null¡¡¾ä±ú¡£´Ëʱ£¬±àÒëÆ÷»á½ûÖ¹ÎÒÃǶÔÕâ¸ö¾ä±ú×÷ÈκÎʵ¼Ê²Ù×÷£¬³ý·ÇÒÑÕý¡¡
È·µØ³õʼ»¯ÁËËü¡£Êý×é¡¡b¡¡±»³õʼ»¯³ÉÖ¸ÏòÓÉ¡¡Weeble¡¡¾ä±ú¹¹³ÉµÄÒ»¸öÊý×飬µ«ÄǸöÊý×éÀïʵ¼Ê²¢Î´·ÅÖÃÈκΡ¡
Weeble¡¡¶ÔÏó¡£È»¶ø£¬ÎÒÃÇÈÔÈ»¿ÉÒÔ²éѯÄǸöÊý×éµÄ´óС£¬ÒòΪ¡¡b¡¡Ö¸ÏòµÄÊÇÒ»¸öºÏ·¨¶ÔÏó¡£ÕâҲΪÎÒÃÇ´øÀ´ÁË¡¡
Ò»¸öÄÑÌ⣺²»¿ÉÖªµÀÄǸöÊý×éÀïʵ¼Ê°üº¬Á˶àÉÙ¸öÔªËØ£¬ÒòΪ¡¡length¡¡Ö»¸æËßÎÒÃǿɽ«¶àÉÙÔªËØÖÃÈëÄǸöÊý¡¡
×é¡£»»ÑÔÖ®£¬ÎÒÃÇÖ»ÖªµÀÊý×é¶ÔÏóµÄ´óС»òÈÝÁ¿£¬²»ÖªÆäʵ¼ÊÈÝÄÉÁ˶àÉÙ¸öÔªËØ¡£¾¡¹ÜÈç´Ë£¬ÓÉÓÚÊý×é¶ÔÏó¡¡
ÔÚ´´½¨Ö®³õ»á×Ô¶¯³õʼ»¯³Énull£¬ËùÒԿɼì²éËüÊÇ·ñΪ¡¡null£¬ÅжÏÒ»¸öÌض¨µÄÊý×é¡°¿Õλ¡±ÊÇ·ñÈÝÄÉÒ»¸ö¶Ô¡¡
Ïó¡£ÀàËƵأ¬ÓÉ»ù±¾Êý¾ÝÀàÐ͹¹³ÉµÄÊý×é»á×Ô¶¯³õʼ»¯³ÉÁ㣨Õë¶ÔÊýÖµÀàÐÍ£©¡¢null¡¡£¨×Ö·ûÀàÐÍ£©»òÕß¡¡
false¡¡£¨²¼¶ûÀàÐÍ£©¡£¡¡¡¡
Êý×éc¡¡ÏÔʾ³öÎÒÃÇÊ×ÏÈ´´½¨Ò»¸öÊý×é¶ÔÏó£¬ÔÙ½«Weeble¡¡¶ÔÏ󸳸øÄǸöÊý×éµÄËùÓС°¿Õλ¡±¡£Êý×é¡¡d¡¡½Òʾ³ö¡¡
¡¡¡°¼¯ºÏ³õʼ»¯¡±Óï·¨£¬´Ó¶ø´´½¨Êý×é¶ÔÏó£¨ÓÃnew¡¡ÃüÁîÃ÷È·½øÐУ¬ÀàËÆÓÚÊý×éc£©£¬È»ºóÓÃWeeble¡¡¶ÔÏó½øÐС¡
³õʼ»¯£¬È«²¿¹¤×÷ÔÚÒ»ÌõÓï¾äÀïÍê³É¡£¡¡¡¡
ÏÂÃæÕâ¸ö±í´
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡