ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

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

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡


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

¡¡¡¡¡¡¡¡public¡¡String¡¡description£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡return¡¡¡¨Thermostat¡¡on¡¡day¡¡setting¡¨£»¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡//¡¡An¡¡example¡¡of¡¡an¡¡action£¨£©¡¡that¡¡inserts¡¡a¡¡¡¡¡¡

¡¡¡¡//¡¡new¡¡one¡¡of¡¡itself¡¡into¡¡the¡¡event¡¡list£º¡¡¡¡

¡¡¡¡private¡¡int¡¡rings£»¡¡¡¡

¡¡¡¡private¡¡class¡¡Bell¡¡extends¡¡Event¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡public¡¡Bell£¨long¡¡eventTime£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡super£¨eventTime£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡public¡¡void¡¡action£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Ring¡¡bell¡¡every¡¡2¡¡seconds£»¡¡rings¡¡times£º¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡if£¨¡­¡­rings¡¡¡·¡¡0£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡Bell£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡196¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡198¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£currentTimeMillis£¨£©¡¡£«¡¡2000£©£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡public¡¡String¡¡description£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡return¡¡¡¨Ring¡¡bell¡¨£»¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡private¡¡class¡¡Restart¡¡extends¡¡Event¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡public¡¡Restart£¨long¡¡eventTime£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡super£¨eventTime£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡public¡¡void¡¡action£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡long¡¡tm¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Instead¡¡of¡¡hard¡­wiring£»¡¡you¡¡could¡¡parse¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡configuration¡¡information¡¡from¡¡a¡¡text¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡file¡¡here£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡rings¡¡=¡¡5£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡ThermostatNight£¨tm£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡LightOn£¨tm¡¡£«¡¡1000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡LightOff£¨tm¡¡£«¡¡2000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡WaterOn£¨tm¡¡£«¡¡3000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡WaterOff£¨tm¡¡£«¡¡8000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡Bell£¨tm¡¡£«¡¡9000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡ThermostatDay£¨tm¡¡£«¡¡10000£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Can¡¡even¡¡add¡¡a¡¡Restart¡¡object£¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡addEvent£¨new¡¡Restart£¨tm¡¡£«¡¡20000£©£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡public¡¡String¡¡description£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡return¡¡¡¨Restarting¡¡system¡¨£»¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡¡¡¡¡GreenhouseControls¡¡gc¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡GreenhouseControls£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡long¡¡tm¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡gc¡£addEvent£¨gc¡£new¡¡Restart£¨tm£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡gc¡£run£¨£©£»¡¡¡¡

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

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

¡¡¡¡

×¢Òâ¡¡light¡¡£¨µÆ¹â£©¡¢water¡¡£¨¹©Ë®£©¡¢thermostat¡¡£¨µ÷Σ©ÒÔ¼°rings¡¡¶¼Á¥ÊôÓÚÍⲿÀà¡¡

GreenhouseControls¡¡£¬ËùÒÔÄÚ²¿Àà¿ÉÒÔºÁÎÞ×è°­µØ·ÃÎÊÄÇЩ×ֶΡ£´ËÍ⣬´ó¶àÊýaction£¨£©·½·¨Ò²Éæ¼°µ½Ä³Ð©¡¡

ÐÎʽµÄÓ²¼þ¿ØÖÆ£¬Õâͨ³£¶¼ÒªÇó·¢³ö¶Ô·Ç¡¡Java¡¡´úÂëµÄµ÷Óᣡ¡¡¡

´ó¶àÊýEvent¡¡Àà¿´ÆðÀ´¶¼ÊÇÏàËƵģ¬µ«¡¡Bell¡¡£¨Á壩ºÍRestart¡¡£¨ÖØÆô£©ÊôÓÚÌØÊâÇé¿ö¡£Bell¡¡»á·¢³öÏìÉù£¬Èô¡¡

ÉÐδÏìÁå×ã¹»µÄ´ÎÊý£¬Ëü»áÔÚʼþÁбíÀïÌí¼ÓÒ»¸öеÄBell¡¡¶ÔÏó£¬ËùÒÔÒÔºó»áÔÙ¶ÈÏìÁå¡£Çë×¢ÒâÄÚ²¿Àà¿´Æð¡¡

À´ÎªÊ²Ã´×ÜÊÇÀàËÆÓÚ¶àÖؼ̳УºBell¡¡ÓµÓÐEvent¡¡µÄËùÓз½·¨£¬¶øÇÒÒ²ÓµÓÐÍⲿÀàGreenhouseControls¡¡µÄËù¡¡

Óз½·¨¡£¡¡¡¡

Restart¡¡¸ºÔð¶Ôϵͳ½øÐгõʼ»¯£¬ËùÒÔ»áÌí¼ÓËùÓбØÒªµÄʼþ¡£µ±È»£¬Ò»ÖÖ¸üÁé»îµÄ×ö·¨ÊDZÜÃâ½øÐС°Ó²±à¡¡

Â롱£¬¶øÊÇ´ÓÒ»¸öÎļþÀï¶ÁÈëËüÃÇ£¨µÚ¡¡10ÕµÄÒ»¸öÁ·Ï°»áÒªÇó´ó¼ÒÐÞ¸ÄÕâ¸öÀý×Ó£¬´Ó¶ø´ïµ½Õâ¸öÄ¿±ê£©¡£ÓÉ¡¡

ÓÚRestart£¨£©½ö½öÊÇÁíÒ»¸ö¡¡Event¡¡¶ÔÏó£¬ËùÒÔÒ²¿ÉÒÔÔÚRestart¡£action£¨£©ÀïÌí¼ÓÒ»¸ö¡¡Restart¡¡¶ÔÏó£¬Ê¹ÏµÍ³¡¡

Äܹ»¶¨ÆÚÖØÆô¡£ÔÚmain£¨£©ÖУ¬ÎÒÃÇÐèÒª×öµÄÈ«²¿ÊÂÇé¾ÍÊÇ´´½¨Ò»¸ö¡¡GreenhouseControls¡¡¶ÔÏ󣬲¢Ìí¼ÓÒ»¸ö¡¡

Restart¡¡¶ÔÏó£¬ÁîÆ乤×÷ÆðÀ´¡£¡¡¡¡

Õâ¸öÀý×ÓÓ¦¸Ãʹ´ó¼Ò¶ÔÄÚ²¿ÀàµÄ¼ÛÖµÓÐÒ»¸ö¸ü¼ÓÉî¿ÌµÄÈÏʶ£¬ÌرðÊÇÔÚÒ»¸ö¿ØÖÆ¿ò¼ÜÀïʹÓÃËüÃǵÄʱºò¡£´Ë¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡197¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡199¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Í⣬ÔÚµÚ¡¡13¡¡Õµĺó°ë²¿·Ö£¬´ó¼Ò»¹»á¿´µ½ÈçºÎÇÉÃîµØÀûÓÃÄÚ²¿ÀàÃèÊöÒ»¸öͼÐÎÓû§½çÃæµÄÐÐΪ¡£Íê³ÉÄÇÀïµÄ¡¡

ѧϰºó£¬¶ÔÄÚ²¿ÀàµÄÈÏʶ½«ÉÏÉýµ½Ò»¸öÇ°ËùδÓеÄи߶ȡ£¡¡¡¡



7¡£7¡¡¹¹½¨Æ÷ºÍ¶àÐÎÐÔ¡¡¡¡



ͬÍù³£Ò»Ñù£¬¹¹½¨Æ÷ÓëÆäËûÖÖÀàµÄ·½·¨ÊÇÓÐÇø±ðµÄ¡£ÔÚÉæ¼°µ½¶àÐÎÐÔµÄÎÊÌâºó£¬ÕâÖÖ·½·¨ÒÀÈ»³ÉÁ¢¡£¾¡¹Ü¹¹¡¡

½¨Æ÷²¢²»¾ßÓжàÐÎÐÔ£¨¼´±ã¿ÉÒÔʹÓÃÒ»ÖÖ¡°ÐéÄâ¹¹½¨Æ÷¡±¡ª¡ª½«ÔÚµÚ¡¡11¡¡Õ½éÉÜ£©£¬µ«ÈÔÈ»·Ç³£ÓбØÒªÀí½â¹¹¡¡

½¨Æ÷ÈçºÎÔÚ¸´Ôӵķּ¶½á¹¹ÖÐÒÔ¼°Ëæͬ¶àÐÎÐÔʹÓá£ÕâÒ»Àí½â½«ÓÐÖúÓÚ´ó¼Ò±ÜÃâÏÝÈëһЩÁîÈ˲»¿ìµÄ¾À·×¡£¡¡¡¡



7¡£7¡£1¡¡¡¡¹¹½¨Æ÷µÄµ÷ÓÃ˳Ðò¡¡¡¡



¹¹½¨Æ÷µ÷ÓõÄ˳ÐòÒÑÔÚµÚ4¡¡Õ½øÐÐÁ˼òҪ˵Ã÷£¬µ«ÄÇÊÇÔڼ̳кͶàÐÎÐÔÎÊÌâÒýÈë֮ǰ˵µÄ»°¡£¡¡¡¡

ÓÃÓÚ»ù´¡ÀàµÄ¹¹½¨Æ÷¿Ï¶¨ÔÚÒ»¸öÑÜÉúÀàµÄ¹¹½¨Æ÷Öе÷Ó㬶øÇÒÖð½¥ÏòÉÏÁ´½Ó£¬Ê¹Ã¿¸ö»ù´¡ÀàʹÓõĹ¹½¨Æ÷¶¼¡¡

Äܵõ½µ÷Óá£Ö®ËùÒÔÒªÕâÑù×ö£¬ÊÇÓÉÓÚ¹¹½¨Æ÷¸ºÓÐÒ»ÏîÌØÊâÈÎÎñ£º¼ì²é¶ÔÏóÊÇ·ñµÃµ½ÁËÕýÈ·µÄ¹¹½¨¡£Ò»¸öÑÜ¡¡

ÉúÀàÖ»ÄÜ·ÃÎÊËü×Ô¼ºµÄ³ÉÔ±£¬²»ÄÜ·ÃÎÊ»ù´¡ÀàµÄ³ÉÔ±£¨ÕâЩ³ÉԱͨ³£¶¼¾ßÓÐprivate¡¡ÊôÐÔ£©¡£Ö»Óлù´¡ÀàµÄ¡¡

¹¹½¨Æ÷ÔÚ³õʼ»¯×Ô¼ºµÄÔªËØʱ²ÅÖªµÀÕýÈ·µÄ·½·¨ÒÔ¼°ÓµÓÐÊʵ±µÄȨÏÞ¡£ËùÒÔ£¬±ØÐëÁîËùÓй¹½¨Æ÷¶¼µÃµ½µ÷¡¡

Ó㬷ñÔòÕû¸ö¶ÔÏóµÄ¹¹½¨¾Í¿ÉÄܲ»ÕýÈ·¡£ÄÇÕýÊDZàÒëÆ÷ΪʲôҪǿÆȶÔÑÜÉúÀàµÄÿ¸ö²¿·Ö½øÐй¹½¨Æ÷µ÷Óõġ¡

Ô­Òò¡£ÔÚÑÜÉúÀàµÄ¹¹½¨Æ÷Ö÷ÌåÖУ¬ÈôÎÒÃÇûÓÐÃ÷È·Ö¸¶¨¶ÔÒ»¸ö»ù´¡À๹½¨Æ÷µÄµ÷Óã¬Ëü¾Í»á¡°Ä¬Ä¬¡±µØµ÷Óá¡

ĬÈϹ¹½¨Æ÷¡£Èç¹û²»´æÔÚĬÈϹ¹½¨Æ÷£¬±àÒëÆ÷¾Í»á±¨¸æÒ»¸ö´íÎó£¨Èôij¸öÀàûÓй¹½¨Æ÷£¬±àÒëÆ÷»á×Ô¶¯×éÖ¯¡¡

Ò»¸öĬÈϹ¹½¨Æ÷£©¡£¡¡¡¡

ÏÂÃæÈÃÎÒÃÇ¿´¿´Ò»¸öÀý×Ó£¬ËüչʾÁË°´¹¹½¨Ë³Ðò½øÐкϳɡ¢¼Ì³ÐÒÔ¼°¶àÐÎÐÔµÄЧ¹û£º¡¡¡¡

¡¡¡¡

//£º¡¡Sandwich¡£java¡¡¡¡

//¡¡Order¡¡of¡¡constructor¡¡calls¡¡¡¡

¡¡¡¡

class¡¡Meal¡¡£û¡¡¡¡

¡¡¡¡Meal£¨£©¡¡£û¡¡System¡£out¡£println£¨¡¨Meal£¨£©¡¨£©£»¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Bread¡¡£û¡¡¡¡

¡¡¡¡Bread£¨£©¡¡£û¡¡System¡£out¡£println£¨¡¨Bread£¨£©¡¨£©£»¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Cheese¡¡£û¡¡¡¡

¡¡¡¡Cheese£¨£©¡¡£û¡¡System¡£out¡£println£¨¡¨Cheese£¨£©¡¨£©£»¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Lettuce¡¡£û¡¡¡¡

¡¡¡¡Lettuce£¨£©¡¡£û¡¡System¡£out¡£println£¨¡¨Lettuce£¨£©¡¨£©£»¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Lunch¡¡extends¡¡Meal¡¡£û¡¡¡¡

¡¡¡¡Lunch£¨£©¡¡£û¡¡System¡£out¡£println£¨¡¨Lunch£¨£©¡¨£©£»£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡PortableLunch¡¡extends¡¡Lunch¡¡£û¡¡¡¡

¡¡¡¡PortableLunch£¨£©¡¡£û¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Sandwich¡¡extends¡¡PortableLunch¡¡£û¡¡¡¡

¡¡¡¡Bread¡¡b¡¡=¡¡new¡¡Bread£¨£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡198¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡200¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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

¡¡¡¡Lettuce¡¡l¡¡=¡¡new¡¡Lettuce£¨£©£»¡¡¡¡

¡¡¡¡Sandwich£¨£©¡¡£û¡¡¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡¡¡¡¡new¡¡Sandwich£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

Õâ¸öÀý×ÓÔÚÆäËûÀàµÄÍⲿ´´½¨ÁËÒ»¸ö¸´ÔÓµÄÀ࣬¶øÇÒÿ¸öÀ඼ÓÐÒ»¸ö¹¹½¨Æ÷¶Ô×Ô¼º½øÐÐÁËÐû²¼¡£ÆäÖÐ×îÖØÒª¡¡

µÄÀàÊÇSandwich¡¡£¬Ëü·´Ó³³öÁËÈý¸ö¼¶±ðµÄ¼Ì³Ð£¨Èô½«´ÓObject¡¡µÄĬÈϼ̳ÐËãÔÚÄÚ£¬¾ÍÊÇËļ¶£©ÒÔ¼°Èý¸ö³É¡¡

Ô±¶ÔÏó¡£ÔÚ¡¡main£¨£©Àï´´½¨ÁËÒ»¸ö¡¡Sandwich¡¡¶ÔÏóºó£¬Êä³ö½á¹ûÈçÏ£º¡¡¡¡

¡¡¡¡

Meal£¨£©¡¡¡¡

Lunch£¨£©¡¡¡¡

PortableLunch£¨£©¡¡¡¡

Bread£¨£©¡¡¡¡

Cheese£¨£©¡¡¡¡

Lettuce£¨£©¡¡¡¡

Sandwich£¨£©¡¡¡¡

¡¡¡¡

ÕâÒâζ×ŶÔÓÚÒ»¸ö¸´ÔӵĶÔÏ󣬹¹½¨Æ÷µÄµ÷ÓÃ×ñÕÕÏÂÃæµÄ˳Ðò£º¡¡¡¡

£¨1£©¡¡µ÷Óûù´¡À๹½¨Æ÷¡£Õâ¸ö²½Öè»á²»¶ÏÖظ´ÏÂÈ¥£¬Ê×Ïȵõ½¹¹½¨µÄÊÇ·Ö¼¶½á¹¹µÄ¸ù²¿£¬È»ºóÊÇÏÂÒ»¸öÑÜÉú¡¡

À࣬µÈµÈ¡£Ö±µ½µÖ´ï×îÉîÒ»²ãµÄÑÜÉúÀà¡£¡¡¡¡

£¨2£©¡¡°´ÉùÃ÷˳Ðòµ÷ÓóÉÔ±³õʼ»¯Ä£¿é¡£¡¡¡¡

£¨3£©¡¡µ÷ÓÃÑÜÉú¹¹½¨Æ÷µÄÖ÷Ìå¡£¡¡¡¡

¡¡¡¡

¹¹½¨Æ÷µ÷ÓõÄ˳ÐòÊǷdz£ÖØÒªµÄ¡£½øÐм̳Ðʱ£¬ÎÒÃÇÖªµÀ¹ØÓÚ»ù´¡ÀàµÄÒ»ÇУ¬²¢ÇÒÄÜ·ÃÎÊ»ù´¡ÀàµÄÈκΡ¡

public¡¡ºÍ¡¡protected¡¡³ÉÔ±¡£ÕâÒâζ×ŵ±ÎÒÃÇÔÚÑÜÉúÀàµÄʱºò£¬±ØÐëÄܼٶ¨»ù´¡ÀàµÄËùÓгÉÔ±¶¼ÊÇÓÐЧµÄ¡£²É¡¡

ÓÃÒ»ÖÖ±ê×¼·½·¨£¬¹¹½¨Ðж¯ÒѾ­½øÐУ¬ËùÒÔ¶ÔÏóËùÓв¿·ÖµÄ³ÉÔ±¾ùÒѵõ½¹¹½¨¡£µ«ÔÚ¹¹½¨Æ÷ÄÚ²¿£¬±ØÐë±£Ö¤¡¡

ʹÓõÄËùÓгÉÔ±¶¼Òѹ¹½¨¡£Îª´ïµ½Õâ¸öÒªÇó£¬Î¨Ò»µÄ°ì·¨¾ÍÊÇÊ×Ïȵ÷Óûù´¡À๹½¨Æ÷¡£È»ºóÔÚ½øÈëÑÜÉúÀ๹¡¡

½¨Æ÷ÒÔºó£¬ÎÒÃÇÔÚ»ù´¡ÀàÄܹ»·ÃÎʵÄËùÓгÉÔ±¶¼Òѵõ½³õʼ»¯¡£´ËÍ⣬ËùÓгÉÔ±¶ÔÏó£¨Ò༴ͨ¹ýºÏ³É·½·¨Öá¡

ÓÚÀàÄڵĶÔÏó£©ÔÚÀàÄÚ½øÐж¨ÒåµÄʱºò£¨±ÈÈçÉÏÀýÖеÄb£¬c¡¡ºÍ¡¡l£©£¬ÓÉÓÚÎÒÃÇÓ¦¾¡¿ÉÄܵضÔËüÃǽøÐгõʼ¡¡

»¯£¬ËùÒÔÒ²Ó¦±£Ö¤¹¹½¨Æ÷ÄÚ²¿µÄËùÓгÉÔ±¾ùΪÓÐЧ¡£Èô¼á³Ö°´ÕâÒ»¹æÔòÐÐÊ£¬»áÓÐÖúÓÚÎÒÃÇÈ·¶¨ËùÓлù´¡Àà¡¡

³ÉÔ±ÒÔ¼°µ±Ç°¶ÔÏóµÄ³ÉÔ±¶ÔÏó¾ùÒÑ»ñµÃÕýÈ·µÄ³õʼ»¯¡£µ«²»ÐÒµÄÊÇ£¬ÕâÖÖ×ö·¨²¢²»ÊÊÓÃÓÚËùÓÐÇé¿ö£¬Õ⽫ÔÚ¡¡

ÏÂÒ»½Ú¾ßÌå˵Ã÷¡£¡¡¡¡



7¡£7¡£2¡¡¡¡¼Ì³ÐºÍ¡¡finalize£¨£©¡¡¡¡¡¡



ͨ¹ý¡°ºÏ³É¡±·½·¨´´½¨ÐÂÀàʱ£¬ÓÀÔ¶²»±Øµ£ÐĶÔÄǸöÀàµÄ³ÉÔ±¶ÔÏóµÄÊÕβ¹¤×÷¡£Ã¿¸ö³ÉÔ±¶¼ÊÇÒ»¸ö¶ÀÁ¢µÄ¶Ô¡¡

Ïó£¬ËùÒÔ»áµÃµ½Õý³£µÄÀ¬»øÊÕ¼¯ÒÔ¼°ÊÕβ´¦Àí¡ª¡ªÎÞÂÛËüÊDz»ÊDz»×Ô¼ºÄ³¸öÀàÒ»¸ö³ÉÔ±¡£µ«ÔÚ½øÐгõʼ»¯µÄ¡¡

ʱºò£¬±ØÐ븲¸ÇÑÜÉúÀàÖеÄfinalize£¨£©·½·¨¡ª¡ªÈç¹ûÒѾ­Éè¼ÆÁËij¸öÌØÊâµÄÇå³ý½ø³Ì£¬ÒªÇóËü±ØÐë×÷ΪÀ¬»ø¡¡

ÊÕ¼¯µÄÒ»²¿·Ö½øÐС£¸²¸ÇÑÜÉúÀàµÄ¡¡finalize£¨£©Ê±£¬Îñ±Ø¼Çסµ÷Óá¡finalize£¨£©µÄ»ù´¡Àà°æ±¾¡£·ñÔò£¬»ù´¡ÀàµÄ¡¡

³õʼ»¯¸ù±¾²»»á·¢Éú¡£ÏÂÃæÕâ¸öÀý×Ó±ãÊÇÃ÷Ö¤£º¡¡¡¡

¡¡¡¡

//£º¡¡Frog¡£java¡¡¡¡

//¡¡Testing¡¡finalize¡¡with¡¡inheritance¡¡¡¡

¡¡¡¡

class¡¡DoBaseFinalization¡¡£û¡¡¡¡

¡¡¡¡public¡¡static¡¡boolean¡¡flag¡¡=¡¡false£»¡¡¡¡

£ý¡¡¡¡

¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡199¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡201¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

class¡¡Characteristic¡¡£û¡¡¡¡

¡¡¡¡String¡¡s£»¡¡¡¡

¡¡¡¡Characteristic£¨String¡¡c£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡s¡¡=¡¡c£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨Creating¡¡Characteristic¡¡¡¨¡¡£«¡¡s£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡void¡¡finalize£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨finalizing¡¡Characteristic¡¡¡¨¡¡£«¡¡s£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡LivingCreature¡¡£û¡¡¡¡

¡¡¡¡Characteristic¡¡p¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Characteristic£¨¡¨is¡¡alive¡¨£©£»¡¡¡¡

¡¡¡¡LivingCreature£¨£©¡¡£û¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡void¡¡finalize£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨LivingCreature¡¡finalize¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Call¡¡base¡­class¡¡version¡¡LAST£¡¡¡¡¡

¡¡¡¡¡¡¡¡if£¨DoBaseFinalization¡£flag£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡super¡£finalize£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡catch£¨Throwable¡¡t£©¡¡£û£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Animal¡¡extends¡¡LivingCreature¡¡£û¡¡¡¡

¡¡¡¡Characteristic¡¡p¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Characteristic£¨¡¨has¡¡heart¡¨£©£»¡¡¡¡

¡¡¡¡Animal£¨£©¡¡£û¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡void¡¡finalize£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Animal¡¡finalize¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡if£¨DoBaseFinalization¡£flag£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡super¡£finalize£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡catch£¨Throwable¡¡t£©¡¡£û£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡Amphibian¡¡extends¡¡Animal¡¡£û¡¡¡¡

¡¡¡¡Characteristic¡¡p¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Characteristic£¨¡¨can¡¡live¡¡in¡¡water¡¨£©£»¡¡¡¡

¡¡¡¡Amphibian£¨£©¡¡£û¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡void¡¡finalize£¨£©¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡200¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡202¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Amphibian¡¡finalize¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡if£¨DoBaseFinalization¡£flag£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡super¡£finalize£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡catch£¨Throwable¡¡t£©¡¡£û£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡Frog¡¡extends¡¡Amphibian¡¡£û¡¡¡¡

¡¡¡¡Frog£¨£©¡¡£û¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

¡¡¡¡protected¡¡void¡¡finalize£¨£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Frog¡¡finalize¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡if£¨DoBaseFinalization¡£flag£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡super¡£finalize£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡catch£¨Throwable¡¡t£©¡¡£û£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡¡¡¡¡if£¨args¡£length¡¡£¡=¡¡0¡¡&&¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡args£§0£§¡£equals£¨¡¨finalize¡¨£©£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡DoBaseFinalization¡£flag¡¡=¡¡true£»¡¡¡¡

¡¡¡¡¡¡¡¡else¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨not¡¡finalizing¡¡bases¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡Frog£¨£©£»¡¡//¡¡Instantly¡¡bees¡¡garbage¡¡¡¡

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

¡¡¡¡¡¡¡¡//¡¡Must¡¡do¡¡this¡¡to¡¡guarantee¡¡that¡¡all¡¡¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡finalizers¡¡will¡¡be¡¡called£º¡¡¡¡

¡¡¡¡¡¡¡¡System¡£runFinalizersOnExit£¨true£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

DoBasefinalization¡¡ÀàÖ»ÊǼòµ¥µØÈÝÄÉÁËÒ»¸ö±êÖ¾£¬Ïò·Ö¼¶½á¹¹ÖеÄÿ¸öÀàÖ¸³öÊÇ·ñÓ¦µ÷Óá¡

super¡£finalize£¨£©¡£Õâ¸ö±êÖ¾µÄÉèÖý¨Á¢ÔÚÃüÁîÐвÎÊýµÄ»ù´¡ÉÏ£¬ËùÒÔÄܹ»ÔÚ½øÐкͲ»½øÐлù´¡ÀàÊÕβ¹¤×÷¡¡

µÄÇ°Ìáϲ鿴ÐÐΪ¡£¡¡¡¡

·Ö¼¶½á¹¹ÖеÄÿ¸öÀàÒ²°üº¬ÁË¡¡Characteristic¡¡ÀàµÄÒ»¸ö³ÉÔ±¶ÔÏó¡£´ó¼Ò¿ÉÒÔ¿´µ½£¬ÎÞÂÛÊÇ·ñµ÷ÓÃÁË»ù´¡ÀàÊÕ¡¡

βģ¿é£¬Characteristic¡¡³ÉÔ±¶ÔÏ󶼿϶¨»áµÃµ½ÊÕ⣨Çå³ý£©´¦Àí¡£¡¡¡¡

ÿ¸ö±»¸²¸ÇµÄfinalize£¨£©ÖÁÉÙÒªÓµÓжԡ¡protected¡¡³ÉÔ±µÄ·ÃÎÊȨÁ¦£¬ÒòΪ¡¡Object¡¡ÀàÖеÄfinalize£¨£©·½·¨¾ß¡¡

ÓÐprotected¡¡ÊôÐÔ£¬¶ø±àÒëÆ÷²»ÔÊÐíÎÒÃÇÔڼ̳йý³ÌÖÐÏû³ý·ÃÎÊȨÏÞ£¨¡°ÓѺõġ±±È¡°Êܵ½±£»¤µÄ¡±¾ßÓиü¡¡

СµÄ·ÃÎÊȨÏÞ£©¡£¡¡¡¡

ÔÚFrog¡£main£¨£©ÖУ¬DoBaseFinalization¡¡±êÖ¾»áµÃµ½ÅäÖ㬶øÇһᴴ½¨µ¥¶ÀÒ»¸öFrog¡¡¶ÔÏó¡£Çë¼ÇסÀ¬»øÊÕ¼¯¡¡

¡¡£¨ÌرðÊÇÊÕβ¹¤×÷£©¿ÉÄܲ»»áÕë¶ÔÈκÎÌض¨µÄ¶ÔÏó·¢Éú£¬ËùÒÔΪÁËÇ¿Ö
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨1£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡