°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¸öÎ¥Àý£¬±ã²»ÄÜͨ¹ý¼Ì³ÐÀ´½øÐÐÐ޸ģ¬²¢¿ÉÓÐЧµØ½ûÖ¹¿Ë¡£¨²»ÄÜ´ÓÒ»¸öÓµÓÐÈÎÒâ¼Ì³Ð¼¶ÊýµÄÀàÖÐÃ÷È·µ÷Óá¡
Object¡£clone£¨£©£»Ö»Äܵ÷Óá¡super¡£clone£¨£©£¬ËüÖ»¿É·ÃÎÊÖ±½Ó»ù´¡Àࣩ¡£Òò´Ë£¬Ö»ÒªÖÆ×÷һЩÉæ¼°°²È«ÎÊÌâ¡¡
µÄ¶ÔÏ󣬾Í×îºÃ°ÑÄÇЩÀàÉèΪfinal¡£¡¡¡¡
ÔÚÀàCheckCloneable¡¡ÖУ¬ÎÒÃÇ¿´µ½µÄµÚÒ»¸öÀàÊÇtryToClone£¨£©£¬ËüÄܽÓÄÉÈκÎOrdinary¡¡¶ÔÏ󣬲¢Óá¡
instanceof¼ì²éËüÊÇ·ñÄܹ»¿Ë¡¡£Èô´ð°¸Êǿ϶¨µÄ£¬¾Í½«¶ÔÏóÔìÐͳÉΪһ¸ö¡¡IsCloneable£¬µ÷ÓÃclone£¨£©£¬¡¡
²¢½«½á¹ûÔìÐÍ»ØOrdinary£¬×îºó²¶»ñÓпÉÄܲúÉúµÄÈκÎÎ¥Àý¡£Çë×¢ÒâÓÃÔËÐÐÆÚÀàÐͼø¶¨£¨¼ûµÚ¡¡11Õ£©´òÓ¡¡¡
³öÀàÃû£¬Ê¹×Ô¼º¿´µ½·¢ÉúµÄÒ»ÇÐÇé¿ö¡£¡¡¡¡
ÔÚmain£¨£©ÖУ¬ÎÒÃÇ´´½¨Á˲»Í¬ÀàÐ͵ÄOrdinary¡¡¶ÔÏ󣬲¢ÔÚÊý×鶨ÒåÖÐÉÏËÝÔìÐͳÉΪ¡¡Ordinary¡¡¡£ÔÚÕâÖ®ºóµÄ¡¡
Í·Á½ÐдúÂë´´½¨ÁËÒ»¸ö´¿´âµÄ¡¡Ordinary¡¡¶ÔÏ󣬲¢ÊÔͼ¶ÔÆä¿Ë¡¡£È»¶ø£¬ÕâЩ´úÂë²»»áµÃµ½±àÒ룬ÒòΪ¡¡
clone£¨£©ÊÇ¡¡Object¡¡ÖеÄÒ»¸öprotected¡¡£¨Êܵ½±£»¤µÄ£©·½·¨¡£´úÂëÊ£ÓàµÄ²¿·Ö½«±éÀúÊý×飬²¢ÊÔ×Å¿Ë¡ÿ¸ö¡¡
¶ÔÏ󣬷ֱ𱨸æËüÃǵijɹ¦»òʧ°Ü¡£Êä³öÈçÏ£º¡¡¡¡
¡¡¡¡
Attempting¡¡IsCloneable¡¡¡¡
Cloned¡¡IsCloneable¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡365¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡367¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Attempting¡¡NoMore¡¡¡¡
Could¡¡not¡¡clone¡¡NoMore¡¡¡¡
Attempting¡¡TryMore¡¡¡¡
Could¡¡not¡¡clone¡¡TryMore¡¡¡¡
Attempting¡¡BackOn¡¡¡¡
Cloned¡¡BackOn¡¡¡¡
Attempting¡¡ReallyNoMore¡¡¡¡
Could¡¡not¡¡clone¡¡ReallyNoMore¡¡¡¡
¡¡¡¡
×ÜÖ®£¬Èç¹ûÏ£ÍûÒ»¸öÀàÄܹ»¿Ë¡£¬ÄÇô£º¡¡¡¡
£¨1£©¡¡ÊµÏÖCloneable¡¡½Ó¿Ú¡¡¡¡
£¨2£©¡¡¸²¸Ç¡¡clone£¨£©¡¡¡¡
£¨3£©¡¡ÔÚ×Ô¼ºµÄclone£¨£©Öе÷ÓÃsuper¡£clone£¨£©¡¡¡¡
£¨4£©¡¡ÔÚ×Ô¼ºµÄclone£¨£©ÖⶻñÎ¥Àý¡¡¡¡
ÕâһϵÁв½ÖèÄÜ´ïµ½×îÀíÏëµÄЧ¹û¡£¡¡¡¡
12¡£3¡£1¡¡¸±±¾¹¹½¨Æ÷¡¡¡¡
¿Ë¡¿´ÆðÀ´ÒªÇó½øÐзdz£¸´ÔÓµÄÉèÖã¬Ëƺõ»¹¸ÃÓÐÁíÒ»ÖÖÌæ´ú·½°¸¡£Ò»¸ö°ì·¨ÊÇÖÆ×÷ÌØÊâµÄ¹¹½¨Æ÷£¬ÁîÆ为¡¡
Ôð¸´ÖÆÒ»¸ö¶ÔÏó¡£ÔÚC£«£«ÖУ¬Õâ½Ð×÷¡°¸±±¾¹¹½¨Æ÷¡±¡£¸Õ¿ªÊ¼µÄʱºò£¬ÕâºÃÏóÊÇÒ»Öַdz£ÏÔÈ»µÄ½â¾ö·½°¸¡¡
¡¡£¨Èç¹ûÄãÊÇ¡¡C£«£«³ÌÐòÔ±£¬Õâ¸ö·½·¨¾Í¸üÏÔÇ×ÇУ©¡£ÏÂÃæÊÇÒ»¸öʵ¼ÊµÄÀý×Ó£º¡¡¡¡
¡¡¡¡
//£º¡¡CopyConstructor¡£java¡¡¡¡
//¡¡A¡¡constructor¡¡for¡¡copying¡¡an¡¡object¡¡¡¡
//¡¡of¡¡the¡¡same¡¡type£»¡¡as¡¡an¡¡attempt¡¡to¡¡create¡¡¡¡
//¡¡a¡¡local¡¡copy¡£¡¡¡¡
¡¡¡¡
class¡¡FruitQualities¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡weight£»¡¡¡¡
¡¡¡¡private¡¡int¡¡color£»¡¡¡¡
¡¡¡¡private¡¡int¡¡firmness£»¡¡¡¡
¡¡¡¡private¡¡int¡¡ripeness£»¡¡¡¡
¡¡¡¡private¡¡int¡¡smell£»¡¡¡¡
¡¡¡¡//¡¡etc¡£¡¡¡¡
¡¡¡¡FruitQualities£¨£©¡¡£û¡¡//¡¡Default¡¡constructor¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡do¡¡something¡¡meaningful¡£¡£¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Other¡¡constructors£º¡¡¡¡
¡¡¡¡//¡¡¡£¡£¡£¡¡¡¡
¡¡¡¡//¡¡Copy¡¡constructor£º¡¡¡¡
¡¡¡¡FruitQualities£¨FruitQualities¡¡f£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡weight¡¡=¡¡f¡£weight£»¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡f¡£color£»¡¡¡¡
¡¡¡¡¡¡¡¡firmness¡¡=¡¡f¡£firmness£»¡¡¡¡
¡¡¡¡¡¡¡¡ripeness¡¡=¡¡f¡£ripeness£»¡¡¡¡
¡¡¡¡¡¡¡¡smell¡¡=¡¡f¡£smell£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡etc¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Seed¡¡£û¡¡¡¡
¡¡¡¡//¡¡Members¡£¡£¡£¡¡¡¡
¡¡¡¡Seed£¨£©¡¡£û¡¡/*¡¡Default¡¡constructor¡¡*/¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡366¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡368¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡Seed£¨Seed¡¡s£©¡¡£û¡¡/*¡¡Copy¡¡constructor¡¡*/¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Fruit¡¡£û¡¡¡¡
¡¡¡¡private¡¡FruitQualities¡¡fq£»¡¡¡¡
¡¡¡¡private¡¡int¡¡seeds£»¡¡¡¡
¡¡¡¡private¡¡Seed£§£§¡¡s£»¡¡¡¡
¡¡¡¡Fruit£¨FruitQualities¡¡q£»¡¡int¡¡seedCount£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡fq¡¡=¡¡q£»¡¡¡¡
¡¡¡¡¡¡¡¡seeds¡¡=¡¡seedCount£»¡¡¡¡
¡¡¡¡¡¡¡¡s¡¡=¡¡new¡¡Seed£§seeds£§£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡seeds£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡s£§i£§¡¡=¡¡new¡¡Seed£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Other¡¡constructors£º¡¡¡¡
¡¡¡¡//¡¡¡£¡£¡£¡¡¡¡
¡¡¡¡//¡¡Copy¡¡constructor£º¡¡¡¡
¡¡¡¡Fruit£¨Fruit¡¡f£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡fq¡¡=¡¡new¡¡FruitQualities£¨f¡£fq£©£»¡¡¡¡
¡¡¡¡¡¡¡¡seeds¡¡=¡¡f¡£seeds£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Call¡¡all¡¡Seed¡¡copy¡constructors£º¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡seeds£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡s£§i£§¡¡=¡¡new¡¡Seed£¨f¡£s£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Other¡¡copy¡construction¡¡activities¡£¡£¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡To¡¡allow¡¡derived¡¡constructors¡¡£¨or¡¡other¡¡¡¡¡¡
¡¡¡¡//¡¡methods£©¡¡to¡¡put¡¡in¡¡different¡¡qualities£º¡¡¡¡
¡¡¡¡protected¡¡void¡¡addQualities£¨FruitQualities¡¡q£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡fq¡¡=¡¡q£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡protected¡¡FruitQualities¡¡getQualities£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡fq£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Tomato¡¡extends¡¡Fruit¡¡£û¡¡¡¡
¡¡¡¡Tomato£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨new¡¡FruitQualities£¨£©£»¡¡100£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡Tomato£¨Tomato¡¡t£©¡¡£û¡¡//¡¡Copy¡constructor¡¡¡¡
¡¡¡¡¡¡¡¡super£¨t£©£»¡¡//¡¡Upcast¡¡for¡¡base¡¡copy¡constructor¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Other¡¡copy¡construction¡¡activities¡£¡£¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡ZebraQualities¡¡extends¡¡FruitQualities¡¡£û¡¡¡¡
¡¡¡¡private¡¡int¡¡stripedness£»¡¡¡¡
¡¡¡¡ZebraQualities£¨£©¡¡£û¡¡//¡¡Default¡¡constructor¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡do¡¡something¡¡meaningful¡£¡£¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡ZebraQualities£¨ZebraQualities¡¡z£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨z£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡367¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡369¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡stripedness¡¡=¡¡z¡£stripedness£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡GreenZebra¡¡extends¡¡Tomato¡¡£û¡¡¡¡
¡¡¡¡GreenZebra£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡addQualities£¨new¡¡ZebraQualities£¨£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡GreenZebra£¨GreenZebra¡¡g£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨g£©£»¡¡//¡¡Calls¡¡Tomato£¨Tomato£©¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Restore¡¡the¡¡right¡¡qualities£º¡¡¡¡
¡¡¡¡¡¡¡¡addQualities£¨new¡¡ZebraQualities£¨£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡void¡¡evaluate£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡ZebraQualities¡¡zq¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨ZebraQualities£©getQualities£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Do¡¡something¡¡with¡¡the¡¡qualities¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡¡£¡£¡£¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡CopyConstructor¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡ripen£¨Tomato¡¡t£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Use¡¡the¡¡¡¨copy¡¡constructor¡¨£º¡¡¡¡
¡¡¡¡¡¡¡¡t¡¡=¡¡new¡¡Tomato£¨t£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨In¡¡ripen£»¡¡t¡¡is¡¡a¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡t¡£getClass£¨£©¡£getName£¨£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡slice£¨Fruit¡¡f£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡f¡¡=¡¡new¡¡Fruit£¨f£©£»¡¡//¡¡Hmmm¡£¡£¡£¡¡will¡¡this¡¡work£¿¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨In¡¡slice£»¡¡f¡¡is¡¡a¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡f¡£getClass£¨£©¡£getName£¨£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Tomato¡¡tomato¡¡=¡¡new¡¡Tomato£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡ripen£¨tomato£©£»¡¡//¡¡OK¡¡¡¡
¡¡¡¡¡¡¡¡slice£¨tomato£©£»¡¡//¡¡OOPS£¡¡¡¡¡
¡¡¡¡¡¡¡¡GreenZebra¡¡g¡¡=¡¡new¡¡GreenZebra£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡ripen£¨g£©£»¡¡//¡¡OOPS£¡¡¡¡¡
¡¡¡¡¡¡¡¡slice£¨g£©£»¡¡//¡¡OOPS£¡¡¡¡¡
¡¡¡¡¡¡¡¡g¡£evaluate£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
Õâ¸öÀý×ÓµÚÒ»ÑÛ¿´ÉÏÈ¥ÏÔµÃÓеãÆæ¹Ö¡£²»Í¬Ë®¹ûµÄÖÊÁ¿¿Ï¶¨ÓÐËùÇø±ð£¬µ«ÎªÊ²Ã´Ö»ÊÇ°Ñ´ú±íÄÇЩÖÊÁ¿µÄÊý¾Ý¡¡
³ÉÔ±Ö±½ÓÖÃÈëFruit¡¡£¨Ë®¹û£©ÀࣿÓÐÁ½·½Ãæ¿ÉÄܵÄÔÒò¡£µÚÒ»¸öÊÇÎÒÃÇ¿ÉÄÜÏë¼ò±ãµØ²åÈë»òÐÞ¸ÄÖÊÁ¿¡£×¢Òâ¡¡
Fruit¡¡ÓÐÒ»¸öprotected¡¡£¨Êܵ½±£»¤µÄ£©addQualities£¨£©·½·¨£¬ËüÔÊÐíÑÜÉúÀàÀ´½øÐÐÕâЩ²åÈë»òÐ޸IJÙ×÷£¨´ó¡¡
¼Ò»òÐí»áÈÏΪ×îºÏºõÂß¼µÄ×ö·¨ÊÇÔÚFruit¡¡ÖÐʹÓÃÒ»¸öprotected¡¡¹¹½¨Æ÷£¬ÓÃËü»ñÈ¡FruitQualities¡¡²ÎÊý£¬¡¡
µ«¹¹½¨Æ÷²»Äܼ̳У¬ËùÒÔ²»¿ÉÔÚµÚ¶þ¼¶»ò¼¶Êý¸üÉîµÄÀàÖÐʹÓÃËü£©¡£Í¨¹ý½«Ë®¹ûµÄÖÊÁ¿ÖÃÈëÒ»¸ö¶ÀÁ¢µÄÀ࣬¡¡
¿ÉÒԵõ½¸ü´óµÄÁé»îÐÔ£¬ÆäÖаüÀ¨¿ÉÒÔÔÚÌض¨¡¡Fruit¡¡¶ÔÏóµÄ´æÔÚÆÚ¼äÖÐ;¸ü¸ÄÖÊÁ¿¡£¡¡¡¡
Ö®ËùÒÔ½«FruitQualities¡¡ÉèΪһ¸ö¶ÀÁ¢µÄ¶ÔÏó£¬ÁíÒ»¸öÔÒòÊÇ¿¼Âǵ½ÎÒÃÇÓÐʱϣÍûÌí¼ÓеÄÖÊÁ¿£¬»òÕßͨ¹ý¡¡
¼Ì³ÐÓë¶àÐÎÐԸıäÐÐΪ¡£×¢Òâ¶ÔGreenZebra¡¡À´Ëµ£¨Õâʵ¼ÊÊÇÎ÷ºìÊÁµÄÒ»Àࡪ¡ªÎÒÒÑÔÔÖֳɹ¦£¬ËüÃǼòÖ±ÁîÈË¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡368¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡370¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÄÑÒÔÖÃÐÅ£©£¬¹¹½¨Æ÷»áµ÷ÓÃaddQualities£¨£©£¬²¢ÎªÆä´«µÝÒ»¸öZebraQualities¡¡¶ÔÏ󡣸öÔÏóÊÇ´Ó¡¡
FruitQualities¡¡ÑÜÉú³öÀ´µÄ£¬ËùÒÔÄÜÓë»ù´¡ÀàÖеġ¡FruitQualities¡¡¾ä±úÁªÏµÔÚÒ»Æð¡£µ±È»£¬Ò»µ©¡¡
GreenZebra¡¡Ê¹Óá¡FruitQualities£¬¾Í±ØÐ뽫ÆäÏÂËÝÔìÐͳÉΪÕýÈ·µÄÀàÐÍ£¨¾ÍÏóevaluate£¨£©ÖÐչʾµÄÄÇ¡¡
Ñù£©£¬µ«Ëü¿Ï¶¨ÖªµÀÀàÐÍÊÇZebraQualities¡£¡¡¡¡
´ó¼ÒÒ²¿´µ½ÓÐÒ»¸ö¡¡Seed¡¡£¨ÖÖ×Ó£©À࣬Fruit¡¡£¨´ó¼Ò¶¼ÖªµÀ£¬Ë®¹ûº¬ÓÐ×Ô¼ºµÄÖÖ×Ó£©°üº¬ÁËÒ»¸öSeed¡¡Êý×é¡£¡¡¡¡
×îºó£¬×¢Òâÿ¸öÀ඼ÓÐÒ»¸ö¸±±¾¹¹½¨Æ÷£¬¶øÇÒÿ¸ö¸±±¾¹¹½¨Æ÷¶¼±ØÐë¹ØÐÄΪ»ù´¡ÀàºÍ³ÉÔ±¶ÔÏóµ÷Óø±±¾¹¹½¨¡¡
Æ÷µÄÎÊÌ⣬´Ó¶ø»ñµÃ¡°Éî²ã¸´ÖÆ¡±µÄЧ¹û¡£¶Ô¸±±¾¹¹½¨Æ÷µÄ²âÊÔÊÇÔÚ¡¡CopyConstructor¡¡ÀàÄÚ½øÐеġ£·½·¨¡¡
ripen£¨£©ÐèÒª»ñÈ¡Ò»¸öTomato¡¡²ÎÊý£¬²¢¶ÔÆäÖ´Ðи±±¾¹¹½¨¹¤×÷£¬ÒԱ㸴ÖƶÔÏ󣺡¡¡¡
t¡¡=¡¡new¡¡Tomato£¨t£©£»¡¡¡¡
¶ø¡¡slice£¨£©ÐèÒª»ñÈ¡Ò»¸ö¸ü³£¹æµÄ¡¡Fruit¡¡¶ÔÏ󣬶øÇÒ¶ÔËü½øÐи´ÖÆ£º¡¡¡¡
f¡¡=¡¡new¡¡Fruit£¨f£©£»¡¡¡¡
ËüÃǶ¼ÔÚmain£¨£©ÖаéË治ͬÖÖÀàµÄFruit¡¡½øÐвâÊÔ¡£ÏÂÃæÊÇÊä³ö½á¹û£º¡¡¡¡
¡¡¡¡
In¡¡ripen£»¡¡t¡¡is¡¡a¡¡Tomato¡¡¡¡
In¡¡slice£»¡¡f¡¡is¡¡a¡¡Fruit¡¡¡¡
In¡¡ripen£»¡¡t¡¡is¡¡a¡¡Tomato¡¡¡¡
In¡¡slice£»¡¡f¡¡is¡¡a¡¡Fruit¡¡¡¡
¡¡¡¡
´ÓÖпÉÒÔ¿´³öÒ»¸öÎÊÌâ¡£ÔÚslice£¨£©ÄÚ²¿¶ÔTomato¡¡½øÐÐÁ˸±±¾¹¹½¨¹¤×÷ÒԺ󣬽á¹û±ã²»ÔÙÊÇÒ»¸ö¡¡Tomato¡¡¶Ô¡¡
Ï󣬶øÖ»ÊÇÒ»¸öFruit¡£ËüÒѶªÊ§ÁË×÷Ϊһ¸öTomato¡¡£¨Î÷ºìÊÁ£©µÄËùÓÐÌØÕ÷¡£´ËÍ⣬Èç¹û²ÉÓÃÒ»¸ö¡¡
GreenZebra£¬ripen£¨£©ºÍ¡¡slice£¨£©»á°ÑËü·Ö±ðת»»³ÉÒ»¸ö¡¡Tomato¡¡ºÍÒ»¸ö¡¡Fruit¡£ËùÒԷdz£²»ÐÒ£¬¼ÙÈçÏëÖÆ×÷¶Ô¡¡
ÏóµÄÒ»¸ö±¾µØ¸±±¾£¬Java¡¡Öеĸ±±¾¹¹½¨Æ÷±ã²»ÊÇÌرðÊʺÏÎÒÃÇ¡£¡¡¡¡
¡¡¡¡
1¡£¡¡ÎªÊ²Ã´ÔÚC£«£«µÄ×÷ÓñÈÔÚ¡¡Java¡¡Öд󣿡¡¡¡
¸±±¾¹¹½¨Æ÷ÊÇC£«£«µÄÒ»¸ö»ù±¾¹¹³É²¿·Ö£¬ÒòΪËüÄÜ×Ô¶¯²úÉú¶ÔÏóµÄÒ»¸ö±¾µØ¸±±¾¡£µ«Ç°ÃæµÄÀý×Óȷʵ֤Ã÷ÁË¡¡
Ëü²»ÊʺÏÔÚ¡¡Java¡¡ÖÐʹÓã¬ÎªÊ²Ã´ÄØ£¿ÔÚ¡¡Java¡¡ÖУ¬ÎÒÃDzٿصÄÒ»Çж«Î÷¶¼ÊǾä±ú£¬¶øÔÚC£«£«ÖУ¬È´¿ÉÒÔÊ