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

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

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




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



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¡¡¶ÔÏó¡£Çë¼ÇסÀ¬»øÊÕ¼¯¡¡

¡¡£¨ÌرðÊÇÊÕβ¹¤×÷£©¿ÉÄܲ»»áÕë¶ÔÈκÎÌض¨µÄ¶ÔÏó·¢Éú£¬ËùÒÔΪÁËÇ¿ÖƲÉÈ¡ÕâÒ»Ðж¯£¬¡¡

System¡£runFinalizersOnExit£¨true£©Ìí¼ÓÁ˶îÍâµÄ¿ªÏú£¬ÒÔ±£Ö¤ÊÕβ¹¤×÷µÄÕý³£½øÐС£ÈôûÓлù´¡Àà³õʼ¡¡

»¯£¬ÔòÊä³ö½á¹ûÊÇ£º¡¡¡¡

¡¡¡¡

not¡¡finalizing¡¡bases¡¡¡¡

Creating¡¡Characteristic¡¡is¡¡alive¡¡¡¡

LivingCreature£¨£©¡¡¡¡

Creating¡¡Characteristic¡¡has¡¡heart¡¡¡¡

Animal£¨£©¡¡¡¡

Creating¡¡Characteristic¡¡can¡¡live¡¡in¡¡water¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡201¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡203¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Amphibian£¨£©¡¡¡¡

Frog£¨£©¡¡¡¡

bye£¡¡¡¡¡

Frog¡¡finalize¡¡¡¡

finalizing¡¡Characteristic¡¡is¡¡alive¡¡¡¡

finalizing¡¡Characteristic¡¡has¡¡heart¡¡¡¡

finalizing¡¡Characteristic¡¡can¡¡live¡¡in¡¡water¡¡¡¡

¡¡¡¡

´ÓÖпÉÒÔ¿´³öȷʵûÓÐΪ»ù´¡ÀàFrog¡¡µ÷ÓÃÊÕβģ¿é¡£µ«¼ÙÈçÔÚÃüÁîÐмÓÈë¡°finalize¡±×Ô±äÁ¿£¬Ôò»á»ñµÃÏ¡¡

Êö½á¹û£º¡¡¡¡

¡¡¡¡

Creating¡¡Characteristic¡¡is¡¡alive¡¡¡¡

LivingCreature£¨£©¡¡¡¡

Creating¡¡Characteristic¡¡has¡¡heart¡¡¡¡

Animal£¨£©¡¡¡¡

Creating¡¡Characteristic¡¡can¡¡live¡¡in¡¡water¡¡¡¡

Amphibian£¨£©¡¡¡¡

Frog£¨£©¡¡¡¡

bye£¡¡¡¡¡

Frog¡¡finalize¡¡¡¡

Amphibian¡¡finalize¡¡¡¡

Animal¡¡finalize¡¡¡¡

LivingCreature¡¡finalize¡¡¡¡

finalizing¡¡Characteristic¡¡is¡¡alive¡¡¡¡

finalizing¡¡Characteristic¡¡has¡¡heart¡¡¡¡

finalizing¡¡Characteristic¡¡can¡¡live¡¡in¡¡water¡¡¡¡

¡¡¡¡

¾¡¹Ü³ÉÔ±¶ÔÏó°´ÕÕÓëËüÃÇ´´½¨Ê±ÏàͬµÄ˳Ðò½øÐÐÊÕ⣬µ«´Ó¼¼Êõ½Ç¶È˵£¬²¢Ã»ÓÐÖ¸¶¨¶ÔÏóÊÕβµÄ˳Ðò¡£µ«¶Ô¡¡

ÓÚ»ù´¡À࣬ÎÒÃǿɶÔÊÕβµÄ˳Ðò½øÐпØÖÆ¡£²ÉÓõÄ×î¼Ñ˳ÐòÕýÊÇÔÚÕâÀï²ÉÓõÄ˳Ðò£¬ËüÓë³õʼ»¯Ë³ÐòÕýºÃÏà¡¡

·´¡£°´ÕÕÓë¡¡C£«£«ÖÐÓÃÓÚ¡°ÆÆ»µÆ÷¡±ÏàͬµÄÐÎʽ£¬ÎÒÃÇÓ¦¸ÃÊ×ÏÈÖ´ÐÐÑÜÉúÀàµÄÊÕ⣬ÔÙÊÇ»ù´¡ÀàµÄÊÕβ¡£ÕâÊÇ¡¡

ÓÉÓÚÑÜÉúÀàµÄÊÕβ¿ÉÄܵ÷Óûù´¡ÀàÖÐÏàͬµÄ·½·¨£¬ÒªÇó»ù´¡Àà×é¼þÈÔÈ»´¦Óڻ״̬¡£Òò´Ë£¬±ØÐëÌáÇ°½«Ëü¡¡

ÃÇÇå³ý£¨ÆÆ»µ£©¡£¡¡¡¡



7¡£7¡£3¡¡¡¡¹¹½¨Æ÷ÄÚ²¿µÄ¶àÐÎÐÔ·½·¨µÄÐÐΪ¡¡¡¡



¹¹½¨Æ÷µ÷Óõķּ¶½á¹¹£¨Ë³Ðò£©ÎªÎÒÃÇ´øÀ´ÁËÒ»¸öÓÐȤµÄÎÊÌ⣬»òÕß˵ÈÃÎÒÃǽøÈëÁËÒ»ÖÖ½øÍËÁ½ÄѵľÖÃæ¡£¡¡

Èôµ±Ç°Î»ÓÚÒ»¸ö¹¹½¨Æ÷µÄÄÚ²¿£¬Í¬Ê±µ÷ÓÃ×¼±¸¹¹½¨µÄÄǸö¶ÔÏóµÄÒ»¸ö¶¯Ì¬°ó¶¨·½·¨£¬ÄÇô»á³öÏÖʲôÇé¿ö¡¡

ÄØ£¿ÔÚԭʼµÄ·½·¨ÄÚ²¿£¬ÎÒÃÇÍêÈ«¿ÉÒÔÏëÏó»á·¢Éúʲô¡ª¡ª¶¯Ì¬°ó¶¨µÄµ÷ÓûáÔÚÔËÐÐÆÚ¼ä½øÐнâÎö£¬ÒòΪ¶Ô¡¡

Ïó²»ÖªµÀËüµ½µ×´ÓÊôÓÚ·½·¨ËùÔÚµÄÄǸöÀ࣬»¹ÊÇ´ÓÊôÓÚ´ÓËüÑÜÉú³öÀ´µÄijЩÀࡣΪ±£³ÖÒ»ÖÂÐÔ£¬´ó¼ÒÒ²Ðí»á¡¡

ÈÏΪÕâÓ¦¸ÃÔÚ¹¹½¨Æ÷ÄÚ²¿·¢Éú¡£¡¡¡¡

µ«Êµ¼ÊÇé¿ö²¢·ÇÍêÈ«Èç´Ë¡£Èôµ÷Óù¹½¨Æ÷ÄÚ²¿Ò»¸ö¶¯Ì¬°ó¶¨µÄ·½·¨£¬»áʹÓÃÄǸö·½·¨±»¸²¸ÇµÄ¶¨Ò塣Ȼ¶ø£¬¡¡

²úÉúµÄЧ¹û¿ÉÄܲ¢²»ÈçÎÒÃÇËùÔ¸£¬¶øÇÒ¿ÉÄÜÔì³ÉһЩÄÑÓÚ·¢ÏֵijÌÐò´íÎ󡣡¡¡¡

´Ó¸ÅÄîÉϽ²£¬¹¹½¨Æ÷µÄÖ°ÔðÊÇÈöÔÏóʵ¼Ê½øÈë´æÔÚ״̬¡£ÔÚÈκι¹½¨Æ÷ÄÚ²¿£¬Õû¸ö¶ÔÏó¿ÉÄÜÖ»Êǵõ½²¿·Ö×é¡¡

Ö¯¡ª¡ªÎÒÃÇÖ»ÖªµÀ»ù´¡Àà¶ÔÏóÒѵõ½³õʼ»¯£¬µ«È´²»ÖªµÀÄÄЩÀàÒѾ­¼Ì³Ð¡£È»¶ø£¬Ò»¸ö¶¯Ì¬°ó¶¨µÄ·½·¨µ÷Óá¡

È´»áÔÚ·Ö¼¶½á¹¹Àï¡°ÏòÇ°¡±»òÕß¡°ÏòÍ⡱ǰ½ø¡£Ëüµ÷ÓÃλÓÚÑÜÉúÀàÀïµÄÒ»¸ö·½·¨¡£Èç¹ûÔÚ¹¹½¨Æ÷ÄÚ²¿×öÕâ¼þ¡¡

ÊÂÇ飬ÄÇô¶ÔÓÚµ÷Óõķ½·¨£¬ËüÒª²Ù×ݵijÉÔ±¿ÉÄÜÉÐδµÃµ½ÕýÈ·µÄ³õʼ»¯¡ª¡ªÕâÏÔÈ»²»ÊÇÎÒÃÇËùÏ£ÍûµÄ¡£¡¡¡¡

ͨ¹ý¹Û²ìÏÂÃæÕâ¸öÀý×Ó£¬Õâ¸öÎÊÌâ±ã»áÕÑÈ»Èô½Ò£º¡¡¡¡

¡¡¡¡

//£º¡¡PolyConstructors¡£java¡¡¡¡

//¡¡Constructors¡¡and¡¡polymorphism¡¡¡¡

//¡¡don't¡¡produce¡¡what¡¡you¡¡might¡¡expect¡£¡¡¡¡

¡¡¡¡

abstract¡¡class¡¡Glyph¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡202¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡204¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡abstract¡¡void¡¡draw£¨£©£»¡¡¡¡

¡¡¡¡Glyph£¨£©¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Glyph£¨£©¡¡before¡¡draw£¨£©¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡draw£¨£©£»¡¡¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Glyph£¨£©¡¡after¡¡draw£¨£©¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡RoundGlyph¡¡extends¡¡Glyph¡¡£û¡¡¡¡

¡¡¡¡int¡¡radius¡¡=¡¡1£»¡¡¡¡

¡¡¡¡RoundGlyph£¨int¡¡r£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡radius¡¡=¡¡r£»¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¨RoundGlyph¡£RoundGlyph£¨£©£»¡¡radius¡¡=¡¡¡¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£«¡¡radius£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡void¡¡draw£¨£©¡¡£û¡¡¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¨RoundGlyph¡£draw£¨£©£»¡¡radius¡¡=¡¡¡¨¡¡£«¡¡radius£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡PolyConstructors¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡new¡¡RoundGlyph£¨5£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÔÚGlyph¡¡ÖУ¬draw£¨£©·½·¨ÊÇ¡°³éÏóµÄ¡±£¨abstract¡¡£©£¬ËùÒÔËü¿ÉÒÔ±»ÆäËû·½·¨¸²¸Ç¡£ÊÂʵÉÏ£¬ÎÒÃÇÔÚ¡¡

RoundGlyph¡¡Öв»µÃ²»¶ÔÆä½øÐи²¸Ç¡£µ«Glyph¡¡¹¹½¨Æ÷»áµ÷ÓÃÕâ¸ö·½·¨£¬¶øÇÒµ÷ÓûáÔÚRoundGlyph¡£draw£¨£©ÖС¡

Ö¹£¬Õâ¿´ÆðÀ´ËƺõÊÇÓÐÒâµÄ¡£µ«Çë¿´¿´Êä³ö½á¹û£º¡¡¡¡

¡¡¡¡

Glyph£¨£©¡¡before¡¡draw£¨£©¡¡¡¡

RoundGlyph¡£draw£¨£©£»¡¡radius¡¡=¡¡0¡¡¡¡

Glyph£¨£©¡¡after¡¡draw£¨£©¡¡¡¡

RoundGlyph¡£RoundGlyph£¨£©£»¡¡radius¡¡=¡¡5¡¡¡¡

¡¡¡¡

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