Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ61²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
8¡£2¡£1¡¡¡¡È±µã£ºÀàÐÍδ֪¡¡¡¡
ʹÓÃJava¡¡¼¯ºÏµÄ¡°È±µã¡±ÊÇÔÚ½«¶ÔÏóÖÃÈëÒ»¸ö¼¯ºÏʱ¶ªÊ§ÁËÀàÐÍÐÅÏ¢¡£Ö®ËùÒԻᷢÉúÕâÖÖÇé¿ö£¬ÊÇÓÉÓÚµ±³õ¡¡
±àд¼¯ºÏʱ£¬ÄǸö¼¯ºÏµÄ³ÌÐòÔ±¸ù±¾²»ÖªµÀÓû§µ½µ×Ïë°ÑʲôÀàÐÍÖÃÈ뼯ºÏ¡£Èôָʾij¸ö¼¯ºÏÖ»ÔÊÐíÌض¨µÄ¡¡
ÀàÐÍ£¬»á·Á°Ëü³ÉΪһ¸ö¡°³£¹æÓÃ;¡±µÄ¹¤¾ß£¬ÎªÓû§´øÀ´Âé·³¡£Îª½â¾öÕâ¸öÎÊÌ⣬¼¯ºÏʵ¼ÊÈÝÄɵÄÊÇÀàÐÍ¡¡
ΪObject¡¡µÄһЩ¶ÔÏóµÄ¾ä±ú¡£ÕâÖÖÀàÐ͵±È»´ú±íJava¡¡ÖеÄËùÓжÔÏó£¬ÒòΪËüÊÇËùÓÐÀàµÄ¸ù¡£µ±È»£¬Ò²Òª×¢¡¡
ÒâÕâ²¢²»°üÀ¨»ù±¾Êý¾ÝÀàÐÍ£¬ÒòΪËüÃDz¢²»ÊÇ´Ó¡°Èκζ«Î÷¡±¼Ì³ÐÀ´µÄ¡£ÕâÊÇÒ»¸öºÜºÃµÄ·½°¸£¬Ö»ÊDz»ÊÊÓá¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡213¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡215¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÏÂÊö³¡ºÏ£º¡¡¡¡
£¨1£©¡¡½«Ò»¸ö¶ÔÏó¾ä±úÖÃÈ뼯ºÏʱ£¬ÓÉÓÚÀàÐÍÐÅÏ¢»á±»Å×Æú£¬ËùÒÔÈκÎÀàÐ͵ĶÔÏ󶼿ɽøÈëÎÒÃǵļ¯ºÏ¡ª¡ª¼´¡¡
±ãÌرðָʾËüÖ»ÄÜÈÝÄÉÌض¨ÀàÐ͵ĶÔÏó¡£¾Ù¸öÀý×ÓÀ´Ëµ£¬ËäȻָʾËüÖ»ÄÜÈÝÄÉ裬µ«ÊÂʵÉÏÈκÎÈ˶¼¿ÉÒÔ°Ñ¡¡
Ò»Ìõ¹·ÈÓ½øÀ´¡£¡¡¡¡
£¨2£©¡¡ÓÉÓÚÀàÐÍÐÅÏ¢²»¸´´æÔÚ£¬ËùÒÔ¼¯ºÏÄܿ϶¨µÄΨһÊÂÇé¾ÍÊÇ×Ô¼ºÈÝÄɵÄÊÇÖ¸ÏòÒ»¸ö¶ÔÏóµÄ¾ä±ú¡£ÕýʽʹÓá¡
Ëü֮ǰ£¬±ØÐë¶ÔÆä½øÐÐÔìÐÍ£¬Ê¹Æä¾ßÓÐÕýÈ·µÄÀàÐÍ¡£¡¡¡¡
¡¡¡¡
ÖµµÃÐÀοµÄÊÇ£¬Java¡¡²»ÔÊÐíÈËÃÇÀÄÓÃÖÃÈ뼯ºÏµÄ¶ÔÏó¡£¼ÙÈ罫һÌõ¹·ÈÓ½øÒ»¸öèµÄ¼¯ºÏ£¬ÄÇôÈԻὫ¼¯ºÏÄÚ¡¡
µÄËùÓж«Î÷¶¼¿´×÷裬ËùÒÔÔÚʹÓÃÄÇÌõ¹·Ê±»áµÃµ½Ò»¸ö¡°Î¥Àý¡±´íÎó¡£ÔÚͬÑùµÄÒâÒåÉÏ£¬¼ÙÈôÊÔͼ½«Ò»Ìõ¹·¡¡
µÄ¾ä±ú¡°ÔìÐÍ¡±µ½Ò»Ö»Ã¨£¬ÄÇôÔËÐÐÆÚ¼äÈÔ»áµÃµ½Ò»¸ö¡°Î¥Àý¡±´íÎ󡣡¡¡¡
ÏÂÃæÊǸöÀý×Ó£º¡¡¡¡
¡¡¡¡
//£º¡¡CatsAndDogs¡£java¡¡¡¡
//¡¡Simple¡¡collection¡¡example¡¡£¨Vector£©¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
class¡¡Cat¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡catNumber£»¡¡¡¡
¡¡¡¡Cat£¨int¡¡i£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡catNumber¡¡=¡¡i£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡void¡¡print£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Cat¡¡#¡¨¡¡£«¡¡catNumber£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Dog¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡dogNumber£»¡¡¡¡
¡¡¡¡Dog£¨int¡¡i£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡dogNumber¡¡=¡¡i£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡void¡¡print£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Dog¡¡#¡¨¡¡£«¡¡dogNumber£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡CatsAndDogs¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Vector¡¡cats¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡7£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡cats¡£addElement£¨new¡¡Cat£¨i£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Not¡¡a¡¡problem¡¡to¡¡add¡¡a¡¡dog¡¡to¡¡cats£º¡¡¡¡
¡¡¡¡¡¡¡¡cats¡£addElement£¨new¡¡Dog£¨7£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡cats¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Cat£©cats¡£elementAt£¨i£©£©¡£print£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Dog¡¡is¡¡detected¡¡only¡¡at¡¡run¡time¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
¿ÉÒÔ¿´³ö£¬Vector¡¡µÄʹÓÃÊǷdz£¼òµ¥µÄ£ºÏÈ´´½¨Ò»¸ö£¬ÔÙÓá¡addElement£¨£©ÖÃÈë¶ÔÏó£¬ÒÔºóÓá¡elementAt£¨£©È¡¡¡
µÃÄÇЩ¶ÔÏó£¨×¢ÒâVector¡¡ÓÐÒ»¸ö¡¡size£¨£©·½·¨£¬¿ÉʹÎÒÃÇÖªµÀÒÑÌí¼ÓÁ˶àÉÙ¸öÔªËØ£¬ÒÔ±ã·ÀÖ¹Î󳬱߽磬Ôì¡¡
³ÉÎ¥Àý´íÎ󣩡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡214¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡216¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Cat¡¡ºÍ¡¡Dog¡¡À඼·Ç³£Ç³ÏÔ¡ª¡ª³ýÁ˶¼ÊÇ¡°¶ÔÏó¡±Ö®Í⣬ËüÃDz¢ÎÞÌرðÖ®´¦£¨ÌÈÈô²»Ã÷È·Ö¸³ö´ÓʲôÀà¼Ì³Ð£¬¡¡
¾ÍĬÈÏΪ´Ó¡¡Object¡¡¼Ì³Ð¡£ËùÒÔÎÒÃDz»½öÄÜÓÃVector¡¡·½·¨½«¡¡Cat¡¡¶ÔÏóÖÃÈëÕâ¸ö¼¯ºÏ£¬Ò²ÄÜÌí¼Ó¡¡Dog¡¡¶ÔÏó£¬Í¬¡¡
ʱ²»»áÔÚ±àÒëÆÚºÍÔËÐÐÆڵõ½Èκγö´íÌáʾ¡£ÓÃVector¡¡·½·¨¡¡elementAt£¨£©»ñÈ¡Ô±¾ÈÏΪÊÇCat¡¡µÄ¶ÔÏóʱ£¬Êµ¡¡
¼Ê»ñµÃµÄÊÇÖ¸ÏòÒ»¸öObject¡¡µÄ¾ä±ú£¬±ØÐ뽫ÄǸö¶ÔÏóÔìÐÍΪCat¡£Ëæºó£¬ÐèÒª½«Õû¸ö±í´ïʽÓÃÀ¨ºÅ·â±ÕÆð¡¡
À´£¬ÔÚΪCat¡¡µ÷ÓÃprint£¨£©·½·¨Ö®Ç°½øÐÐÇ¿ÖÆÔìÐÍ£»·ñÔò¾Í»á³öÏÖÒ»¸öÓï·¨´íÎó¡£ÔÚÔËÐÐÆڼ䣬Èç¹ûÊÔͼ½«¡¡
Dog¡¡¶ÔÏóÔìÐÍΪ¡¡Cat£¬¾Í»áµÃµ½Ò»¸öÎ¥Àý¡£¡¡¡¡
ÕâЩ´¦ÀíµÄÒâÒ嶼·Ç³£ÉîÔ¶¡£¾¡¹ÜÏÔµÃÓÐЩÂé·³£¬µ«È´»ñµÃÁË°²È«Éϵı£Ö¤¡£ÎÒÃÇ´Ó´ËÔÙÄÑżȻÔì³ÉһЩÒþ¡¡
²ØµÃÉîµÄ´íÎó¡£Èô³ÌÐòµÄÒ»¸ö²¿·Ö£¨»ò¼¸¸ö²¿·Ö£©½«¶ÔÏó²åÈëÒ»¸ö¼¯ºÏ£¬µ«ÎÒÃÇÖ»ÊÇͨ¹ýÒ»´ÎÎ¥ÀýÔÚ³ÌÐòµÄ¡¡
ij¸ö²¿·Ö·¢ÏÖÒ»¸ö´íÎóµÄ¶ÔÏóÖÃÈëÁ˼¯ºÏ£¬¾Í±ØÐëÕÒ³ö²åÈë´íÎóµÄλÖᣵ±È»£¬¿Éͨ¹ý¼ì²é´úÂë´ïµ½Õâ¸öÄ¿¡¡
µÄ£¬µ«Õâ»òÐíÊÇ×µÄµ÷ÊÔ¹¤¾ß¡£ÁíÒ»·½Ã棬ÎÒÃÇ¿É´ÓһЩ±ê×¼»¯µÄ¼¯ºÏÀ࿪ʼ×Ô¼ºµÄ±à³Ì¡£¾¡¹ÜËüÃÇÔÚ¹¦¡¡
ÄÜÉÏ´æÔÚһЩ²»×㣬ÇÒÏÔµÃÓÐЩ±¿×¾£¬µ«È´Äܱ£Ö¤Ã»ÓÐÒþ²ØµÄ´íÎ󡣡¡¡¡
¡¡¡¡
1¡£¡¡´íÎóÓÐʱ²¢²»ÏÔ¶³öÀ´¡¡¡¡
ÔÚijЩÇé¿öÏ£¬³ÌÐòËƺõÕýÈ·µØ¹¤×÷£¬²»ÔìÐÍ»ØÎÒÃÇÔÀ´µÄÀàÐÍ¡£µÚÒ»ÖÖÇé¿öÊÇÏ൱ÌØÊâµÄ£ºString¡¡Àà´Ó±à¡¡
ÒëÆ÷»ñµÃÁ˶îÍâµÄ°ïÖú£¬Ê¹ÆäÄܹ»Õý³£¹¤×÷¡£Ö»Òª±àÒëÆ÷ÆÚ´ýµÄÊÇÒ»¸öString¡¡¶ÔÏ󣬵«ËüûÓеõ½Ò»¸ö£¬¾Í¡¡
»á×Ô¶¯µ÷ÓÃÔÚObject¡¡ÀﶨÒå¡¢²¢ÇÒÄܹ»ÓÉÈκÎJava¡¡Àา¸ÇµÄ¡¡toString£¨£©·½·¨¡£Õâ¸ö·½·¨ÄÜÉú³ÉÂú×ãÒªÇóµÄ¡¡
String¡¡¶ÔÏó£¬È»ºóÔÚÎÒÃÇÐèÒªµÄʱºòʹÓᣡ¡¡¡
Òò´Ë£¬ÎªÁËÈÃ×Ô¼ºÀàµÄ¶ÔÏóÄÜÏÔʾ³öÀ´£¬Òª×öµÄÈ«²¿ÊÂÇé¾ÍÊǸ²¸ÇtoString£¨£©·½·¨£¬ÈçÏÂÀýËùʾ£º¡¡¡¡
¡¡¡¡
//£º¡¡WorksAnyway¡£java¡¡¡¡
//¡¡In¡¡special¡¡cases£»¡¡things¡¡just¡¡seem¡¡¡¡
//¡¡to¡¡work¡¡correctly¡£¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
class¡¡Mouse¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡mouseNumber£»¡¡¡¡
¡¡¡¡Mouse£¨int¡¡i£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡mouseNumber¡¡=¡¡i£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Magic¡¡method£º¡¡¡¡
¡¡¡¡public¡¡String¡¡toString£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡¡¨This¡¡is¡¡Mouse¡¡#¡¨¡¡£«¡¡mouseNumber£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡void¡¡print£¨String¡¡msg£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡if£¨msg¡¡£¡=¡¡null£©¡¡System¡£out¡£println£¨msg£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨Mouse¡¡number¡¡¡¨¡¡£«¡¡mouseNumber£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡MouseTrap¡¡£û¡¡¡¡
¡¡¡¡static¡¡void¡¡caughtYa£¨Object¡¡m£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Mouse¡¡mouse¡¡=¡¡£¨Mouse£©m£»¡¡//¡¡Cast¡¡from¡¡Object¡¡¡¡
¡¡¡¡¡¡¡¡mouse¡£print£¨¡¨Caught¡¡one£¡¡¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡WorksAnyway¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Vector¡¡mice¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡3£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡mice¡£addElement£¨new¡¡Mouse£¨i£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡215¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡217¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡mice¡£size£¨£©£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡No¡¡cast¡¡necessary£»¡¡automatic¡¡call¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡to¡¡Object¡£toString£¨£©£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Free¡¡mouse£º¡¡¡¨¡¡£«¡¡mice¡£elementAt£¨i£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡MouseTrap¡£caughtYa£¨mice¡£elementAt£¨i£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
¿ÉÔÚMouse¡¡Àï¿´µ½¶ÔtoString£¨£©µÄÖض¨Òå´úÂë¡£ÔÚmain£¨£©µÄµÚ¶þ¸öfor¡¡Ñ»·ÖУ¬¿É·¢ÏÖÏÂÊöÓï¾ä£º¡¡¡¡
¡¡¡¡
System¡£out¡£println£¨¡¨Free¡¡mouse£º¡¡¡¨¡¡£«¡¡¡¡
mice¡£elementAt£¨i£©£©£»¡¡¡¡
¡¡¡¡
ÔÚ¡°£«¡±ºó£¬±àÒëÆ÷Ô¤ÆÚ¿´µ½µÄÊÇÒ»¸öString¡¡¶ÔÏó¡£elementAt£¨£©Éú³ÉÁËÒ»¸ö¡¡Object£¬ËùÒÔΪ»ñµÃÏ£ÍûµÄ¡¡
String£¬±àÒëÆ÷»áĬÈϵ÷ÓÃtoString£¨£©¡£µ«²»ÐÒµÄÊÇ£¬Ö»ÓÐÕë¶ÔString¡¡²ÅÄܵõ½ÏóÕâÑùµÄ½á¹û£»ÆäËûÈκΡ¡
ÀàÐͶ¼²»»á½øÐÐÕâÑùµÄת»»¡£¡¡¡¡
Òþ²ØÔìÐ͵ĵڶþÖÖ·½·¨ÒÑÔÚMousetrap¡¡ÀïµÃµ½ÁËÓ¦Óá£caughtYa£¨£©·½·¨½ÓÊյIJ»ÊÇÒ»¸öMouse£¬¶øÊÇÒ»¸ö¡¡
Object¡£ËæºóÔÙ½«ÆäÔìÐÍΪһ¸öMouse¡£µ±È»£¬ÕâÑù×öÊǷdz£Ã°Ê§µÄ£¬ÒòΪͨ¹ý½ÓÊÕÒ»¸ö¡¡Object£¬Èκζ«Î÷¡¡
¶¼¿ÉÒÔ´«µÝ¸ø·½·¨¡£È»¶ø£¬¼ÙÈôÔìÐͲ»ÕýÈ·¡ª¡ªÈç¹ûÎÒÃÇ´«µÝÁË´íÎóµÄÀàÐÍ¡ª¡ª¾Í»áÔÚÔËÐÐÆÚ¼äµÃµ½Ò»¸öÎ¥¡¡
Àý´íÎó¡£Õ⵱ȻûÓÐÔÚ±àÒëÆÚ½øÐмì²éºÃ£¬µ«ÈÔÈ»ÄÜ·ÀÖ¹ÎÊÌâµÄ·¢Éú¡£×¢ÒâÔÚʹÓÃÕâ¸ö·½·¨Ê±ÎãÐè½øÐÐÔì¡¡
ÐÍ£º¡¡¡¡
MouseTrap¡£caughtYa£¨mice¡£elementAt£¨i£©£©£»¡¡¡¡
¡¡¡¡
2¡£¡¡Éú³ÉÄÜ×Ô¶¯ÅбðÀàÐ͵ġ¡Vector¡¡¡¡
´ó¼Ò»òÐí²»Ïë·ÅÆú¸Õ²ÅÄǸöÎÊÌâ¡£Ò»¸ö¸ü¡°½¡×³¡±µÄ·½°¸ÊÇÓá¡Vector¡¡´´½¨Ò»¸öÐÂÀ࣬ʹÆäÖ»½ÓÊÕÎÒÃÇÖ¸¶¨µÄ¡¡
ÀàÐÍ£¬Ò²Ö»Éú³ÉÎÒÃÇÏ£ÍûµÄÀàÐÍ¡£ÈçÏÂËùʾ£º¡¡¡¡
¡¡¡¡
//£º¡¡GopherVector¡£java¡¡¡¡
//¡¡A¡¡type¡conscious¡¡Vector¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
class¡¡Gopher¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡gopherNumber£»¡¡¡¡
¡¡¡¡Gopher£¨int¡¡i£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡gopherNumber¡¡=¡¡i£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡void¡¡print£¨String¡¡msg£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡if£¨msg¡¡£¡=¡¡null£©¡¡System¡£out¡£println£¨msg£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨Gopher¡¡number¡¡¡¨¡¡£«¡¡gopherNumber£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡GopherTrap¡¡£û¡¡¡¡
¡¡¡¡static¡¡void¡¡caughtYa£¨Gopher¡¡g£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡g¡£print£¨¡¨Caught¡¡one£¡¡¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡GopherVector¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡216¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡218¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡private¡¡Vector¡¡v¡¡=¡¡new¡¡Vector¡¡£¨£©£»¡¡¡¡
¡¡¡¡public¡¡void¡¡addElement£¨Gopher¡¡m£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡v¡£addElement£¨m£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡Gopher¡¡elementAt£¨int¡¡index£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡£¨Gopher£©v¡£elementAt£¨index£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡int¡¡size£¨£©¡¡£û¡¡return¡¡v¡£size£¨£©£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡GopherVector¡¡gophers¡¡=¡¡new¡¡GopherVector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡3£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡gophers¡£addElement£¨new¡¡Gopher£¨i£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡gophers¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡GopherTrap¡£caughtYa£¨gophers¡£elementAt£¨i£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ÕâÇ°Ò»¸öÀý×ÓÀàËÆ£¬Ö»ÊÇеġ¡GopherVector¡¡ÀàÓÐÒ»¸öÀàÐÍΪVector¡¡µÄprivate¡¡³ÉÔ±£¨´ÓVector¡¡¼Ì³ÐÓÐЩÂé¡¡
·³£¬ÀíÓÉÉÔºó±ãÖª£©£¬¶øÇÒ·½·¨Ò²ºÍVector¡¡ÀàËÆ¡£È»¶ø£¬Ëü²»»á½ÓÊպͲúÉúÆÕͨObject£¬Ö»¶Ô¡¡Gopher¡¡¶ÔÏó¡¡
¸ÐÐËȤ¡£¡¡¡¡
ÓÉÓÚGopherVector¡¡Ö»½ÓÊÕÒ»¸ö¡¡Gopher¡¡£¨µØÊ󣩣¬ËùÒÔ¼ÙÈçÎÒÃÇʹÓ㺡¡¡¡
gophers¡£addElement£¨new¡¡Pigeon£¨£©£©£»¡¡¡¡
¾Í»áÔÚ±àÒëÆÚ¼ä»ñµÃÒ»Ìõ³ö´íÏûÏ¢¡£²ÉÓÃÕâÖÖ·½Ê½£¬¾¡¹Ü´Ó±àÂëµÄ½Ç¶È¿´ÏԵøüÁîÈ˳ÁÃÆ£¬µ«¿ÉÒÔÁ¢¼´Åжϡ¡
³öÊÇ·ñʹÓÃÁËÕýÈ·µÄÀàÐÍ¡£¡¡¡¡
×¢ÒâÔÚʹÓá¡elementAt£¨£©Ê±²»±Ø½øÐÐÔìÐÍ¡ª¡ªËü¿Ï¶¨ÊÇÒ»¸öGopher¡£¡¡¡¡
¡¡¡¡
3¡£¡¡²ÎÊý»¯ÀàÐÍ¡¡¡¡
ÕâÀàÎÊÌâ²¢²»ÊǹÂÁ¢µÄ¡ª¡ªÎÒÃÇÐí¶àʱºò¶¼ÒªÔÚÆäËûÀàÐ͵Ļù´¡ÉÏ´´½¨ÐÂÀàÐÍ¡£´Ëʱ£¬ÔÚ±àÒëÆÚ¼äÓµÓÐÌض¨¡¡
µÄÀàÐÍÐÅÏ¢ÊǷdz£ÓаïÖúµÄ¡£Õâ±ãÊÇ¡°²ÎÊý»¯ÀàÐÍ¡±µÄ¸ÅÄî¡£ÔÚC£«£«ÖУ¬ËüÓÉÓïÑÔͨ¹ý¡°Ä£°å¡±»ñµÃÁËÖ±½Ó¡¡
Ö§³Ö¡£ÖÁÉÙ£¬Java¡¡±£ÁôÁ˹ؼü×Ö¡¡generic£¬ÆÚÍûÓÐÒ»ÌìÄܹ»Ö§³Ö²ÎÊý»¯ÀàÐÍ¡£µ«ÎÒÃÇÏÖÔÚÎÞ·¨È·¶¨ÕâÒ»ÌìºÎ¡¡
ʱ»áÀ´ÁÙ¡£¡¡¡¡
8¡£3¡¡Ã¶¾ÙÆ÷£¨·´¸´Æ÷£©¡¡¡¡
ÔÚÈκμ¯ºÏÀàÖУ¬±ØÐëͨ¹ýijÖÖ·½·¨ÔÚÆäÖÐÖÃÈë¶ÔÏó£¬ÔÙÓÃÁíÒ»ÖÖ·½·¨´ÓÖÐÈ¡µÃ¶ÔÏ󡣱Ͼ¹£¬ÈÝÄɸ÷ÖÖ¸÷Ñù¡¡
µÄ¶ÔÏóÕýÊǼ¯ºÏµÄÊ×ÒªÈÎÎñ¡£ÔÚVector¡¡ÖУ¬addElement£¨£©±ãÊÇÎÒÃDzåÈë¶ÔÏó²ÉÓõķ½·¨£¬¶ø¡¡elementAt£¨£©ÊÇ¡¡
ÌáÈ¡¶ÔÏóµÄΨһ·½·¨¡£Vector¡¡·Ç³£Áé»î£¬ÎÒÃÇ¿ÉÔÚÈκÎʱºòÑ¡ÔñÈκζ«Î÷£¬²¢¿ÉʹÓò»Í¬µÄË÷ÒýÑ¡Ôñ¶à¸öÔª¡¡
ËØ¡£¡¡¡¡
Èô´Ó¸ü¸ßµÄ½Ç¶È¿´Õâ¸öÎÊÌ⣬¾Í»á·¢ÏÖËüµÄÒ»¸öȱÏÝ£ºÐèÒªÊÂÏÈÖªµÀ¼¯ºÏµÄ׼ȷÀàÐÍ£¬·ñÔòÎÞ·¨Ê¹Óá£Õ§¿´¡¡
À´£¬ÕâÒ»µãËƺõûʲô¹Øϵ¡£µ«¼ÙÈô×ʼ¾ö¶¨Ê¹ÓÃVector£¬ºóÀ´ÔÚ³ÌÐòÖÐÓÖ¾ö¶¨£¨¿¼ÂÇÖ´ÐÐЧÂʵÄÔÒò£©¡¡
¸Ä±ä³ÉÒ»¸ö¡¡List¡¡£¨ÊôÓÚJava1¡£2¡¡¼¯ºÏ¿âµÄÒ»²¿·Ö£©£¬ÕâʱÓÖ¸ÃÈçºÎ×öÄØ£¿¡¡¡¡
¿ÉÀûÓá°·´¸´Æ÷¡±£¨Iterator£©µÄ¸ÅÄî´ïµ½Õâ¸öÄ¿µÄ¡£Ëü¿ÉÒÔÊÇÒ»¸ö¶ÔÏó£¬×÷ÓÃÊDZéÀúһϵÁжÔÏ󣬲¢Ñ¡Ôñ¡¡
ÄǸöÐòÁÐÖеÄÿ¸ö¶ÔÏó£¬Í¬Ê±²»Èÿͻ§³ÌÐòÔ±ÖªµÀ»ò¹Ø×¢ÄǸöÐòÁеĻù´¡½á¹¹¡£´ËÍ⣬ÎÒÃÇͨ³£ÈÏΪ·´¸´Æ÷¡¡
ÊÇÒ»ÖÖ¡°ÇáÁ¿¼¶¡±¶ÔÏó£»Ò²¾ÍÊÇ˵£¬´´½¨ËüÖ»Ð踶³ö¼«ÉٵĴú¼Û¡£µ«Ò²ÕýÊÇÓÉÓÚÕâ¸öÔÒò£¬ÎÒÃdz£·¢ÏÖ·´¸´¡¡
Æ÷´æÔÚһЩËƺõºÜÆæ¹ÖµÄÏÞÖÆ¡£ÀýÈ磬ÓÐЩ·´¸´Æ÷Ö»Äܳ¯Ò»¸ö·½ÏòÒƶ¯¡£¡¡¡¡
Java¡¡µÄEnumeration¡¡£¨Ã¶¾Ù£¬×¢ÊÍ¢Ú£©±ãÊǾßÓÐÕâЩÏÞÖƵÄÒ»¸ö·´¸´Æ÷µÄÀý×Ó¡£³ýÏÂÃæÕâЩÍ⣬²»¿ÉÔÙÓÃËü¡¡
×öÆäËûÈκÎÊÂÇ飺¡¡¡¡
£¨1£©¡¡ÓÃÒ»¸öÃûΪ¡¡elements£¨£©µÄ·½·¨ÒªÇ󼯺ÏΪÎÒÃÇÌṩһ¸ö¡¡Enumeration¡£ÎÒÃÇÊ״ε÷ÓÃËüµÄ¡¡nextElement£¨£©¡¡
ʱ£¬Õâ¸öEnumeration¡¡»á·µ»ØÐòÁÐÖеĵÚÒ»¸öÔªËØ¡£¡¡¡¡
£¨2£©¡¡ÓÃnextElement£¨£©¡¡»ñµÃÏÂÒ»¸ö¶ÔÏ󡣡¡¡¡
£¨3£©¡¡ÓÃhasMoreElements£¨£©¼ì²éÐòÁÐÖÐÊÇ·ñ»¹Óиü¶àµÄ¶ÔÏ󡣡¡¡¡
¡¡¡¡
¢Ú£º¡°·´¸´Æ÷¡±Õâ¸ö´ÊÔÚC£«£«ºÍOOP¡¡µÄÆäËûµØ·½ÊǾ³£³öÏֵģ¬ËùÒÔºÜÄÑÈ·¶¨ÎªÊ²Ã´Java¡¡µÄ¿ª·¢Õß²ÉÓÃÁËÕâ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡217¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡219¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÑùÒ»¸öÆæ¹ÖµÄÃû×Ö¡£Java¡¡1¡£2¡¡µÄ¼¯ºÏ¿âÐÞÕýÁËÕâ¸öÎÊÌ