ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
Ò»ÊÀÊé³Ç ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ66ÕÂ

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




¡¡¡¡

//£º¡¡Month2¡£java¡¡¡¡

//¡¡A¡¡more¡¡robust¡¡enumeration¡¡system¡¡¡¡

package¡¡c07£»¡¡¡¡

¡¡¡¡

public¡¡final¡¡class¡¡Month2¡¡£û¡¡¡¡

¡¡¡¡private¡¡String¡¡name£»¡¡¡¡

¡¡¡¡private¡¡Month2£¨String¡¡nm£©¡¡£û¡¡name¡¡=¡¡nm£»¡¡£ý¡¡¡¡

¡¡¡¡public¡¡String¡¡toString£¨£©¡¡£û¡¡return¡¡name£»¡¡£ý¡¡¡¡

¡¡¡¡public¡¡final¡¡static¡¡Month2¡¡¡¡

¡¡¡¡¡¡¡¡JAN¡¡=¡¡new¡¡Month2£¨¡¨January¡¨£©£»¡¡¡¡¡¡

¡¡¡¡¡¡¡¡FEB¡¡=¡¡new¡¡Month2£¨¡¨February¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡MAR¡¡=¡¡new¡¡Month2£¨¡¨March¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡APR¡¡=¡¡new¡¡Month2£¨¡¨April¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡MAY¡¡=¡¡new¡¡Month2£¨¡¨May¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡JUN¡¡=¡¡new¡¡Month2£¨¡¨June¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡JUL¡¡=¡¡new¡¡Month2£¨¡¨July¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡AUG¡¡=¡¡new¡¡Month2£¨¡¨August¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡SEP¡¡=¡¡new¡¡Month2£¨¡¨September¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡OCT¡¡=¡¡new¡¡Month2£¨¡¨October¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡NOV¡¡=¡¡new¡¡Month2£¨¡¨November¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡DEC¡¡=¡¡new¡¡Month2£¨¡¨December¡¨£©£»¡¡¡¡

¡¡¡¡public¡¡final¡¡static¡¡Month2£§£§¡¡month¡¡=¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡JAN£»¡¡JAN£»¡¡FEB£»¡¡MAR£»¡¡APR£»¡¡MAY£»¡¡JUN£»¡¡¡¡

¡¡¡¡¡¡¡¡JUL£»¡¡AUG£»¡¡SEP£»¡¡OCT£»¡¡NOV£»¡¡DEC¡¡¡¡

¡¡¡¡£ý£»¡¡¡¡

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡177¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡179¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡Month2¡¡m¡¡=¡¡Month2¡£JAN£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨m£©£»¡¡¡¡

¡¡¡¡¡¡¡¡m¡¡=¡¡Month2¡£month£§12£§£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨m£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨m¡¡==¡¡Month2¡£DEC£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨m¡£equals£¨Month2¡£DEC£©£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

¢Ù£ºÊÇ¡¡Rich¡¡Hoffarth¡¡µÄÒ»·âE¡­mail¡¡´¥·¢ÁËÎÒÕâÑù±àд³ÌÐòµÄÁé¸Ð¡£¡¡¡¡

¡¡¡¡

Õâ¸öÀà½Ð×÷¡¡Month2£¬ÒòΪ±ê×¼¡¡Java¡¡¿âÀïÒѾ­ÓÐÒ»¸öMonth¡£ËüÊÇÒ»¸ö¡¡final¡¡À࣬²¢º¬ÓÐÒ»¸öprivate¡¡¹¹½¨¡¡

Æ÷£¬ËùÒÔûÓÐÈËÄÜ´ÓËü¼Ì³Ð£¬»òÖÆ×÷ËüµÄÒ»¸öʵÀý¡£Î¨Ò»µÄʵÀý¾ÍÊÇÄÇЩ¡¡final¡¡static¶ÔÏó£¬ËüÃÇÊÇÔÚÀà±¾¡¡

ÉíÄÚ²¿´´½¨µÄ£¬°üÀ¨£ºJAN£¬FEB£¬MAR¡¡µÈµÈ¡£ÕâЩ¶ÔÏóÒ²ÔÚmonth¡¡Êý×éÖÐʹÓ㬺óÕßÈÃÎÒÃÇÄܹ»°´Êý×ÖÌôÑ¡¡¡

Ô·ݣ¬¶ø²»ÊÇ°´Ãû×Ö£¨×¢ÒâÊý×éÖÐÌṩÁËÒ»¸ö¶àÓàµÄJAN£¬Ê¹Æ«ÒÆÁ¿Ôö¼ÓÁË¡¡1£¬Ò²Ê¹¡¡December¡¡È·Êµ³ÉΪ¡¡12¡¡

Ô£©¡£ÔÚmain£¨£©ÖУ¬ÎÒÃÇ¿É×¢Òâµ½ÀàÐ͵ݲȫÐÔ£ºm¡¡ÊÇÒ»¸ö¡¡Month2¡¡¶ÔÏó£¬ËùÒÔÖ»Äܽ«Æä·ÖÅä¸øMonth2¡£ÔÚ¡¡

Ç°ÃæµÄMonths¡£java¡¡Àý×ÓÖУ¬Ö»ÌṩÁË¡¡intÖµ£¬ËùÒÔ±¾À´ÏëÓÃÀ´´ú±íÒ»¸öÔ·ݵġ¡int¡¡±äÁ¿¿ÉÄÜʵ¼Ê»ñµÃÒ»¸ö¡¡

ÕûÊýÖµ£¬ÄÇÑù×ö¿ÉÄܲ»Ê®·Ö°²È«¡£¡¡¡¡

Õâ¶ù½éÉܵķ½·¨Ò²ÔÊÐíÎÒÃǽ»»»Ê¹ÓÃ==»òÕßequals£¨£©£¬¾ÍÏómain£¨£©Î²²¿Õ¹Ê¾µÄÄÇÑù¡£¡¡¡¡



7¡£5¡£4¡¡¡¡³õʼ»¯½Ó¿ÚÖеÄ×ֶΡ¡¡¡



½Ó¿ÚÖж¨ÒåµÄ×ֶλá×Ô¶¯¾ßÓС¡static¡¡ºÍfinal¡¡ÊôÐÔ¡£ËüÃDz»ÄÜÊÇ¡°¿Õ°×¡¡final¡±£¬µ«¿É³õʼ»¯³É·Ç³£Êý±í´ï¡¡

ʽ¡£ÀýÈ磺¡¡¡¡

¡¡¡¡

//£º¡¡RandVals¡£java¡¡¡¡

//¡¡Initializing¡¡interface¡¡fields¡¡with¡¡¡¡¡¡

//¡¡non¡­constant¡¡initializers¡¡¡¡

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

¡¡¡¡

public¡¡interface¡¡RandVals¡¡£û¡¡¡¡

¡¡¡¡int¡¡rint¡¡=¡¡£¨int£©£¨Math¡£random£¨£©¡¡*¡¡10£©£»¡¡¡¡

¡¡¡¡long¡¡rlong¡¡=¡¡£¨long£©£¨Math¡£random£¨£©¡¡*¡¡10£©£»¡¡¡¡

¡¡¡¡float¡¡rfloat¡¡=¡¡£¨float£©£¨Math¡£random£¨£©¡¡*¡¡10£©£»¡¡¡¡

¡¡¡¡double¡¡rdouble¡¡=¡¡Math¡£random£¨£©¡¡*¡¡10£»¡¡¡¡

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

¡¡¡¡

ÓÉÓÚ×Ö¶ÎÊÇ¡¡static¡¡µÄ£¬ËùÒÔËüÃÇ»áÔÚÊ×´Î×°ÔØÀàÖ®ºó¡¢ÒÔ¼°Ê״ηÃÎÊÈκÎ×Ö¶Î֮ǰ»ñµÃ³õʼ»¯¡£ÏÂÃæÊÇÒ»¸ö¡¡

¼òµ¥µÄ²âÊÔ£º¡¡¡¡

¡¡¡¡

//£º¡¡TestRandVals¡£java¡¡¡¡

¡¡¡¡

public¡¡class¡¡TestRandVals¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡System¡£out¡£println£¨RandVals¡£rint£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨RandVals¡£rlong£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨RandVals¡£rfloat£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨RandVals¡£rdouble£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

µ±È»£¬×ֶβ¢²»ÊǽӿڵÄÒ»²¿·Ö£¬¶øÊDZ£´æÓÚÄǸö½Ó¿ÚµÄ¡¡static´æ´¢ÇøÓòÖС£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡178¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡180¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

7¡£6¡¡¡¡ÄÚ²¿Àà¡¡¡¡



ÔÚJava¡¡1¡£1¡¡ÖУ¬¿É½«Ò»¸öÀඨÒåÖÃÈëÁíÒ»¸öÀඨÒåÖС£Õâ¾Í½Ð×÷¡°ÄÚ²¿Àࡱ¡£ÄÚ²¿Àà¶ÔÎÒÃǷdz£ÓÐÓã¬ÒòΪ¡¡

ÀûÓÃËü¿É¶ÔÄÇЩÂß¼­ÉÏÏ໥ÁªÏµµÄÀà½øÐзÖ×飬²¢¿É¿ØÖÆÒ»¸öÀàÔÚÁíÒ»¸öÀàÀïµÄ¡°¿É¼ûÐÔ¡±¡£È»¶ø£¬ÎÒÃDZء¡

ÐëÈÏʶµ½ÄÚ²¿ÀàÓëÒÔÇ°½²ÊöµÄ¡°ºÏ³É¡±·½·¨´æÔÚןù±¾µÄÇø±ð¡£¡¡¡¡

ͨ³££¬¶ÔÄÚ²¿ÀàµÄÐèÒª²¢²»ÊÇÌرðÃ÷ÏԵģ¬ÖÁÉÙ²»»áÁ¢¼´¸Ð¾õµ½×Ô¼ºÐèҪʹÓÃÄÚ²¿Àà¡£ÔÚ±¾ÕµÄĩ⣬½éÉÜ¡¡

ÍêÄÚ²¿ÀàµÄËùÓÐÓï·¨Ö®ºó£¬´ó¼Ò»á·¢ÏÖÒ»¸öÌرðµÄÀý×Ó¡£Í¨¹ýËüÓ¦¸Ã¿ÉÒÔÇåÎúµØÈÏʶµ½ÄÚ²¿ÀàµÄºÃ´¦¡£¡¡¡¡

´´½¨ÄÚ²¿ÀàµÄ¹ý³ÌÊÇƽµ­ÎÞÆæµÄ£º½«ÀඨÒåÖÃÈëÒ»¸öÓÃÓÚ·â×°ËüµÄÀàÄÚ²¿£¨ÈôÖ´ÐÐÕâ¸ö³ÌÐòÓöµ½Âé·³£¬Çë²Î¡¡

¼ûµÚ3¡¡ÕµÄ3¡£1¡£2¡¡Ð¡½Ú¡°¸³Öµ¡±£©£º¡¡¡¡

¡¡¡¡

//£º¡¡Parcel1¡£java¡¡¡¡

//¡¡Creating¡¡inner¡¡classes¡¡¡¡

package¡¡c07¡£parcel1£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡Parcel1¡¡£û¡¡¡¡

¡¡¡¡class¡¡Contents¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡int¡¡i¡¡=¡¡11£»¡¡¡¡

¡¡¡¡¡¡¡¡public¡¡int¡¡value£¨£©¡¡£û¡¡return¡¡i£»¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡class¡¡Destination¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡String¡¡label£»¡¡¡¡

¡¡¡¡¡¡¡¡Destination£¨String¡¡whereTo£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡label¡¡=¡¡whereTo£»¡¡¡¡

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

¡¡¡¡¡¡¡¡String¡¡readLabel£¨£©¡¡£û¡¡return¡¡label£»¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡//¡¡Using¡¡inner¡¡classes¡¡looks¡¡just¡¡like¡¡¡¡

¡¡¡¡//¡¡using¡¡any¡¡other¡¡class£»¡¡within¡¡Parcel1£º¡¡¡¡

¡¡¡¡public¡¡void¡¡ship£¨String¡¡dest£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡Contents¡¡c¡¡=¡¡new¡¡Contents£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Destination¡¡d¡¡=¡¡new¡¡Destination£¨dest£©£»¡¡¡¡

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

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

¡¡¡¡¡¡¡¡Parcel1¡¡p¡¡=¡¡new¡¡Parcel1£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡p¡£ship£¨¡¨Tanzania¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÈôÔÚ¡¡ship£¨£©ÄÚ²¿Ê¹Óã¬ÄÚ²¿ÀàµÄʹÓÿ´ÆðÀ´ºÍÆäËûÈκÎÀ඼ûʲô·Ö±ð¡£ÔÚÕâÀΨһÃ÷ÏÔµÄÇø±ð¾ÍÊÇËüµÄ¡¡

Ãû×ÖǶÌ×ÔÚ¡¡Parcel1¡¡ÀïÃæ¡£µ«´ó¼Ò²»¾Ã¾Í»áÖªµÀ£¬ÕâÆäʵ²¢·ÇΨһµÄÇø±ð¡£¡¡¡¡

¸üµäÐ͵ÄÒ»ÖÖÇé¿öÊÇ£¬Ò»¸öÍⲿÀàÓµÓÐÒ»¸öÌØÊâµÄ·½·¨£¬Ëü»á·µ»ØÖ¸ÏòÒ»¸öÄÚ²¿ÀàµÄ¾ä±ú¡£¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡

¡¡¡¡

//£º¡¡Parcel2¡£java¡¡¡¡

//¡¡Returning¡¡a¡¡handle¡¡to¡¡an¡¡inner¡¡class¡¡¡¡

package¡¡c07¡£parcel2£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡Parcel2¡¡£û¡¡¡¡

¡¡¡¡class¡¡Contents¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡int¡¡i¡¡=¡¡11£»¡¡¡¡

¡¡¡¡¡¡¡¡public¡¡int¡¡value£¨£©¡¡£û¡¡return¡¡i£»¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡class¡¡Destination¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡String¡¡label£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡179¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡181¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡Destination£¨String¡¡whereTo£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡label¡¡=¡¡whereTo£»¡¡¡¡

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

¡¡¡¡¡¡¡¡String¡¡readLabel£¨£©¡¡£û¡¡return¡¡label£»¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡Destination¡¡to£¨String¡¡s£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡new¡¡Destination£¨s£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡Contents¡¡cont£¨£©¡¡£û¡¡¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡new¡¡Contents£¨£©£»¡¡¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡void¡¡ship£¨String¡¡dest£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡Contents¡¡c¡¡=¡¡cont£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Destination¡¡d¡¡=¡¡to£¨dest£©£»¡¡¡¡

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

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

¡¡¡¡¡¡¡¡Parcel2¡¡p¡¡=¡¡new¡¡Parcel2£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡p¡£ship£¨¡¨Tanzania¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Parcel2¡¡q¡¡=¡¡new¡¡Parcel2£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Defining¡¡handles¡¡to¡¡inner¡¡classes£º¡¡¡¡

¡¡¡¡¡¡¡¡Parcel2¡£Contents¡¡c¡¡=¡¡q¡£cont£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Parcel2¡£Destination¡¡d¡¡=¡¡q¡£to£¨¡¨Borneo¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÈôÏëÔÚ³ýÍⲿÀà·Ç¡¡static¡¡·½·¨ÄÚ²¿Ö®ÍâµÄÈκεط½Éú³ÉÄÚ²¿ÀàµÄÒ»¸ö¶ÔÏ󣬱ØÐ뽫ÄǸö¶ÔÏóµÄÀàÐÍÉèΪ¡°Íâ¡¡

²¿ÀàÃû¡£ÄÚ²¿ÀàÃû¡±£¬¾ÍÏómain£¨£©ÖÐչʾµÄÄÇÑù¡£¡¡¡¡



7¡£6¡£1¡¡¡¡ÄÚ²¿ÀàºÍÉÏËÝÔìÐÍ¡¡¡¡



Æù½ñΪֹ£¬ÄÚ²¿Àà¿´ÆðÀ´ÈÔȻûʲôÌرðµÄµØ·½¡£±Ï¾¹£¬ÓÃËüʵÏÖÒþ²ØÏÔµÃÓÐЩ´óÌâС×ö¡£Java¡¡ÒѾ­ÓÐÒ»¸ö¡¡

·Ç³£ÓÅÐãµÄÒþ²Ø»úÖÆ¡ª¡ªÖ»ÔÊÐíÀà³ÉΪ¡°ÓѺõġ±£¨Ö»ÔÚÒ»¸ö°üÄڿɼû£©£¬¶ø²»ÊÇ°ÑËü´´½¨³ÉÒ»¸öÄÚ²¿Àà¡£¡¡¡¡

È»¶ø£¬µ±ÎÒÃÇ×¼±¸ÉÏËÝÔìÐ͵½Ò»¸ö»ù´¡ÀࣨÌرðÊǵ½Ò»¸ö½Ó¿Ú£©µÄʱºò£¬ÄÚ²¿Àà¾Í¿ªÊ¼·¢»ÓÆä¹Ø¼ü×÷Ó㨴ӡ¡

ÓÃÓÚʵÏֵĶÔÏóÉú³ÉÒ»¸ö½Ó¿Ú¾ä±ú¾ßÓÐÓëÉÏËÝÔìÐÍÖÁÒ»¸ö»ù´¡ÀàÏàͬµÄЧ¹û£©¡£ÕâÊÇÓÉÓÚÄÚ²¿ÀàËæºó¿ÉÍêÈ«¡¡

½øÈë²»¿É¼û»ò²»¿ÉÓÃ״̬¡ª¡ª¶ÔÈκÎÈ˶¼½«Èç´Ë¡£ËùÒÔÎÒÃÇ¿ÉÒԷdz£·½±ãµØÒþ²Øʵʩϸ½Ú¡£ÎÒÃǵõ½µÄÈ«²¿¡¡

»Ø±¨¾ÍÊÇÒ»¸ö»ù´¡Àà»òÕ߽ӿڵľä±ú£¬¶øÇÒÉõÖÁÓпÉÄܲ»ÖªµÀ׼ȷµÄÀàÐÍ¡£¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡

¡¡¡¡

//£º¡¡Parcel3¡£java¡¡¡¡

//¡¡Returning¡¡a¡¡handle¡¡to¡¡an¡¡inner¡¡class¡¡¡¡

package¡¡c07¡£parcel3£»¡¡¡¡

¡¡¡¡

abstract¡¡class¡¡Contents¡¡£û¡¡¡¡

¡¡¡¡abstract¡¡public¡¡int¡¡value£¨£©£»¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

interface¡¡Destination¡¡£û¡¡¡¡

¡¡¡¡String¡¡readLabel£¨£©£»¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡Parcel3¡¡£û¡¡¡¡

¡¡¡¡private¡¡class¡¡PContents¡¡extends¡¡Contents¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡int¡¡i¡¡=¡¡11£»¡¡¡¡

¡¡¡¡¡¡¡¡public¡¡int¡¡value£¨£©¡¡£û¡¡return¡¡i£»¡¡£ý¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡180¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡182¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡class¡¡PDestination¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡implements¡¡Destination¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡String¡¡label£»¡¡¡¡

¡¡¡¡¡¡¡¡private¡¡PDestination£¨String¡¡whereTo£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡label¡¡=¡¡whereTo£»¡¡¡¡

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

¡¡¡¡¡¡¡¡public¡¡String¡¡readLabel£¨£©¡¡£û¡¡return¡¡label£»¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡Destination¡¡dest£¨String¡¡s£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡new¡¡PDestination£¨s£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡Contents¡¡cont£¨£©¡¡£û¡¡¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡new¡¡PContents£¨£©£»¡¡¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Test¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡Parcel3¡¡p¡¡=¡¡new¡¡Parcel3£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Contents¡¡c¡¡=¡¡p¡£cont£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Destination¡¡d¡¡=¡¡p¡£dest£¨¡¨Tanzania¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Illegal¡¡¡­can't¡¡access¡¡private¡¡class£º¡¡¡¡

¡¡¡¡¡¡¡¡//£¡¡¡Parcel3¡£PContents¡¡c¡¡=¡¡p¡£new¡¡PContents£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÏÖÔÚ£¬Contents¡¡º
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡