Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ53²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 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¡¡ºÍDestination¡¡´ú±í¿ÉÓÉ¿Í»§³ÌÐòԱʹÓõĽӿڣ¨¼Çס½Ó¿Ú»á½«×Ô¼ºµÄËùÓгÉÔ±¶¼±ä³É¡¡
public¡¡ÊôÐÔ£©¡£Îª·½±ãÆð¼û£¬ËüÃÇÖÃÓÚµ¥¶ÀÒ»¸öÎļþÀµ«ÔʼµÄ¡¡Contents¡¡ºÍDestination¡¡ÔÚËüÃÇ×Ô¼ºµÄ¡¡
ÎļþÖÐÊÇÏ໥public¡¡µÄ¡£¡¡¡¡
ÔÚParcel3¡¡ÖУ¬Ò»Ð©Ð¶«Î÷ÒѾ¼ÓÈ룺ÄÚ²¿ÀàPContents¡¡±»ÉèΪ¡¡private£¬ËùÒÔ³ýÁËParcel3¡¡Ö®Í⣬ÆäËûÈΡ¡
ºÎ¶«Î÷¶¼²»ÄÜ·ÃÎÊËü¡£PDestination¡¡±»ÉèΪ¡¡protected£¬ËùÒÔ³ýÁË¡¡Parcel3£¬Parcel3¡¡°üÄÚµÄÀࣨÒòΪ¡¡
protected¡¡Ò²Îª°ü¸³ÓèÁË·ÃÎÊȨ£»Ò²¾ÍÊÇ˵£¬protected¡¡Ò²ÊÇ¡°ÓѺõġ±£©£¬ÒÔ¼°Parcel3¡¡µÄ¼Ì³ÐÕßÖ®Í⣬Æä¡¡
ËûÈκζ«Î÷¶¼²»ÄÜ·ÃÎÊ¡¡PDestination¡£ÕâÒâζ×Å¿Í»§³ÌÐòÔ±¶ÔÕâЩ³ÉÔ±µÄÈÏʶÓë·ÃÎʽ«»áÊܵ½ÏÞÖÆ¡£ÊÂʵ¡¡
ÉÏ£¬ÎÒÃÇÉõÖÁ²»ÄÜÏÂËÝÔìÐ͵½Ò»¸ö¡¡private¡¡ÄÚ²¿Àࣨ»òÕßÒ»¸öprotected¡¡ÄÚ²¿À࣬³ý·Ç×Ô¼º±¾Éí±ãÊÇÒ»¸ö¼Ì¡¡
³ÐÕߣ©£¬ÒòΪÎÒÃDz»ÄÜ·ÃÎÊÃû×Ö£¬¾ÍÏóÔÚ¡¡classTest¡¡Àï¿´µ½µÄÄÇÑù¡£ËùÒÔ£¬ÀûÓÃprivate¡¡ÄÚ²¿À࣬ÀàÉè¼ÆÈË¡¡
Ô±¿ÉÍêÈ«½ûÖ¹ÆäËûÈËÒÀÀµÀàÐͱàÂ룬²¢¿É½«¾ßÌåµÄʵʩϸ½ÚÍêÈ«Òþ²ØÆðÀ´¡£³ý´ËÒÔÍ⣬´Ó¿Í»§³ÌÐòÔ±µÄ½Ç¶È¡¡
À´¿´£¬Ò»¸ö½Ó¿ÚµÄ·¶Î§Ã»ÓÐÒâÒåµÄ£¬ÒòΪËûÃDz»ÄÜ·ÃÎʲ»ÊôÓÚ¹«¹²½Ó¿ÚÀàµÄÈκζîÍâ·½·¨¡£ÕâÑùÒ»À´£¬Java¡¡
±àÒëÆ÷Ò²Óлú»áÉú³ÉЧÂʸü¸ßµÄ´úÂë¡£¡¡¡¡
ÆÕͨ£¨·ÇÄÚ²¿£©À಻¿ÉÉèΪprivate¡¡»ò¡¡protected¡ª¡ªÖ»ÔÊÐí¡¡public¡¡»òÕß¡°ÓѺõġ±¡£¡¡¡¡
×¢ÒâContents¡¡²»±Ø³ÉΪһ¸ö³éÏóÀà¡£ÔÚÕâ¶ùÒ²¿ÉÒÔʹÓÃÒ»¸öÆÕͨÀ࣬µ«ÕâÖÖÉè¼Æ×îµäÐ͵ÄÆðµãÒÀÈ»ÊÇÒ»¸ö¡¡
¡¡¡°½Ó¿Ú¡±¡£¡¡¡¡
7¡£6¡£2¡¡¡¡·½·¨ºÍ×÷ÓÃÓòÖеÄÄÚ²¿Àà¡¡¡¡
ÖÁ´Ë£¬ÎÒÃÇÒÑ»ù±¾Àí½âÁËÄÚ²¿ÀàµÄµäÐÍÓÃ;¡£¶ÔÄÇЩÉæ¼°ÄÚ²¿ÀàµÄ´úÂ룬ͨ³£±í´ïµÄ¶¼ÊÇ¡°µ¥´¿¡±µÄÄÚ²¿¡¡
À࣬·Ç³£¼òµ¥£¬ÇÒ¼«Ò×Àí½â¡£È»¶ø£¬ÄÚ²¿ÀàµÄÉè¼Æ·Ç³£È«Ã棬²»¿É±ÜÃâµØ»áÓöµ½ËüÃǵÄÆäËû´óÁ¿Ó÷¨¡ª¡ª¼Ù¡¡
ÈôÎÒÃÇÔÚÒ»¸ö·½·¨ÉõÖÁÒ»¸öÈÎÒâµÄ×÷ÓÃÓòÄÚ´´½¨ÄÚ²¿Àà¡£ÓÐÁ½·½ÃæµÄÔÒò´ÙʹÎÒÃÇÕâÑù×ö£º¡¡¡¡
£¨1£©¡¡ÕýÈçÇ°ÃæչʾµÄÄÇÑù£¬ÎÒÃÇ×¼±¸ÊµÏÖijÖÖÐÎʽµÄ½Ó¿Ú£¬Ê¹×Ô¼ºÄÜ´´½¨ºÍ·µ»ØÒ»¸ö¾ä±ú¡£¡¡¡¡
£¨2£©¡¡Òª½â¾öÒ»¸ö¸´ÔÓµÄÎÊÌ⣬²¢Ï£Íû´´½¨Ò»¸öÀ࣬ÓÃÀ´¸¨Öú×Ô¼ºµÄ³ÌÐò·½°¸¡£Í¬Ê±²»Ô¸Òâ°ÑËü¹«¿ª¡£¡¡¡¡
¡¡¡¡
ÔÚÏÂÃæÕâ¸öÀý×ÓÀ½«ÐÞ¸ÄÇ°ÃæµÄ´úÂ룬ÒÔ±ãʹÓ㺡¡¡¡
£¨1£©¡¡ÔÚÒ»¸ö·½·¨ÄÚ¶¨ÒåµÄÀà¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡181¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡183¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
£¨2£©¡¡ÔÚ·½·¨µÄÒ»¸ö×÷ÓÃÓòÄÚ¶¨ÒåµÄÀà¡¡¡¡
£¨3£©¡¡Ò»¸öÄäÃûÀ࣬ÓÃÓ