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

µÚ61²¿·Ö

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

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

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 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¡¡µÄ¼¯ºÏ¿âÐÞÕýÁËÕâ¸öÎÊÌ

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

Äã¿ÉÄÜϲ»¶µÄ