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

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

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


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

¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡15£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£addElement£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡petTypes£§¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨int£©£¨Math¡£random£¨£©*petTypes¡£length£©£§¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£newInstance£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨InstantiationException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡catch£¨IllegalAccessException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡catch£¨ClassNotFoundException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡Hashtable¡¡h¡¡=¡¡new¡¡Hashtable£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡typenames¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡h¡£put£¨typenames£§i£§£»¡¡new¡¡Counter£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Object¡¡o¡¡=¡¡pets¡£elementAt£¨i£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Pet£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Pet¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Dog£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Dog¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Pug£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Pug¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Cat£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Cat¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Rodent£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Rodent¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Gerbil£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Gerbil¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Hamster£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¨Hamster¡¨£©£©¡£i£«£«£»¡¡¡¡

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

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£elementAt£¨i£©¡£getClass£¨£©¡£toString£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡typenames¡£length£»¡¡i£«£«£©¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡typenames£§i£§¡¡£«¡¡¡¨¡¡quantity£º¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨typenames£§i£§£©£©¡£i£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÔÚJava¡¡1¡£0¡¡ÖУ¬¶Ô¡¡instanceof¡¡ÓÐÒ»¸ö±È½ÏСµÄÏÞÖÆ£ºÖ»¿É½«ÆäÓëÒ»¸öÒÑÃüÃûµÄÀàÐͱȽϣ¬²»ÄÜͬClass¡¡¶Ô¡¡

Ïó×÷¶Ô±È¡£ÔÚÉÏÊöÀý×ÓÖУ¬´ó¼Ò¿ÉÄܾõµÃ½«ËùÓÐÄÇЩinstanceof¡¡±í´ïʽд³öÀ´ÊǼþºÜÂé·³µÄÊÂÇ顣ʵ¼ÊÇé¿ö¡¡

ÕýÊÇÕâÑù¡£µ«ÔÚJava¡¡1¡£0¡¡ÖУ¬Ã»Óа취ÈÃÕâÒ»¹¤×÷×Ô¶¯½øÐСª¡ª²»ÄÜ´´½¨Class¡¡µÄÒ»¸öVector£¬ÔÙ½«ÆäÓë¡¡

Ö®±È½Ï¡£´ó¼Ò×îÖÕ»áÒâʶµ½£¬Èç±àдÁËÊýÁ¿ÖÚ¶àµÄ¡¡instanceof±í´ïʽ£¬Õû¸öÉè¼Æ¶¼¿ÉÄܳöÏÖÎÊÌâ¡£¡¡¡¡

µ±È»£¬Õâ¸öÀý×ÓÖ»ÊÇÒ»¸ö¹¹Ï롪¡ª×îºÃÔÚÿ¸öÀàÐÍÀïÌí¼ÓÒ»¸östaticÊý¾Ý³ÉÔ±£¬È»ºóÔÚ¹¹½¨Æ÷ÖÐÁîÆäÔöÖµ£¬¡¡

ÒÔ±ã¸ú×Ù¼ÆÊý¡£±àд³ÌÐòʱ£¬´ó¼Ò¿ÉÄÜÏëÏó×Ô¼ºÓµÓÐÀàµÄÔ´Âë¿ØÖÆȨ£¬Äܹ»×ÔÓɸĶ¯Ëü¡£µ«ÓÉÓÚʵ¼ÊÇé¿ö²¢¡¡

·Ç×ÜÊÇÕâÑù£¬ËùÒÔ¡¡RTTI¡¡ÏÔµÃÌر𷽱㡣¡¡¡¡

¡¡¡¡

1¡£¡¡Ê¹ÓÃÀà±ê¼Ç¡¡¡¡

PetCount¡£java¡¡Ê¾Àý¿ÉÓÃJava¡¡1¡£1¡¡µÄÀà±ê¼ÇÖØдһ±é¡£µÃµ½µÄ½á¹ûÏԵøü¼ÓÃ÷È·Ò׶®£º¡¡¡¡

¡¡¡¡

//£º¡¡PetCount2¡£java¡¡¡¡

//¡¡Using¡¡Java¡¡1¡£1¡¡class¡¡literals¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡338¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡340¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

package¡¡c11¡£petcount2£»¡¡¡¡

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

¡¡¡¡

class¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Dog¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Pug¡¡extends¡¡Dog¡¡£û£ý¡¡¡¡

class¡¡Cat¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Rodent¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Gerbil¡¡extends¡¡Rodent¡¡£û£ý¡¡¡¡

class¡¡Hamster¡¡extends¡¡Rodent¡¡£û£ý¡¡¡¡

¡¡¡¡

class¡¡Counter¡¡£û¡¡int¡¡i£»¡¡£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡PetCount2¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡Vector¡¡pets¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Class£§£§¡¡petTypes¡¡=¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Class¡¡literals¡¡work¡¡in¡¡Java¡¡1¡£1£«¡¡only£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Pet¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Dog¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Pug¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Cat¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Rodent¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Gerbil¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Hamster¡£class£»¡¡¡¡

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

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

¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡15£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Offset¡¡by¡¡one¡¡to¡¡eliminate¡¡Pet¡£class£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡rnd¡¡=¡¡1¡¡£«¡¡£¨int£©£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Math¡£random£¨£©¡¡*¡¡£¨petTypes¡£length¡¡1£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£addElement£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡petTypes£§rnd£§¡£newInstance£¨£©£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡£ý¡¡catch£¨InstantiationException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡catch£¨IllegalAccessException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡Hashtable¡¡h¡¡=¡¡new¡¡Hashtable£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡petTypes¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡h¡£put£¨petTypes£§i£§¡£toString£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Counter£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Object¡¡o¡¡=¡¡pets¡£elementAt£¨i£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Pet£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Pet¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Dog£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Dog¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Pug£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Pug¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Cat£©¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡339¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡341¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Cat¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Rodent£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Rodent¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Gerbil£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Gerbil¡¨£©£©¡£i£«£«£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨o¡¡instanceof¡¡Hamster£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨class¡¡c11¡£petcount2¡£Hamster¡¨£©£©¡£i£«£«£»¡¡¡¡

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

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£elementAt£¨i£©¡£getClass£¨£©¡£toString£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Enumeration¡¡keys¡¡=¡¡h¡£keys£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡while£¨keys¡£hasMoreElements£¨£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡String¡¡nm¡¡=¡¡£¨String£©keys¡£nextElement£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Counter¡¡cnt¡¡=¡¡£¨Counter£©h¡£get£¨nm£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nm¡£substring£¨nm¡£lastIndexOf£¨'¡£'£©¡¡£«¡¡1£©¡¡£«¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡quantity£º¡¡¡¨¡¡£«¡¡cnt¡£i£©£»¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

ÔÚÕâÀtypenames¡¡£¨ÀàÐÍÃû£©Êý×éÒѱ»É¾³ý£¬¸ÄΪ´ÓClass¡¡¶ÔÏóÀï»ñÈ¡ÀàÐÍÃû³Æ¡£×¢ÒâΪ´Ë¶ø¶îÍâ×öµÄ¹¤¡¡

×÷£ºÀýÈ磬ÀàÃû²»ÊÇGetbil£¬¶øÊÇc11¡£petcount2¡£Getbil£¬ÆäÖÐÒÑ°üº¬ÁË°üµÄÃû×Ö¡£Ò²Òª×¢ÒâϵͳÊÇÄܹ»Çø¡¡

·ÖÀàºÍ½Ó¿ÚµÄ¡£¡¡¡¡

Ò²¿ÉÒÔ¿´µ½£¬petTypes¡¡µÄ´´½¨Ä£¿é²»ÐèÒªÓÃÒ»¸ötry¡¡¿é°üΧÆðÀ´£¬ÒòΪËü»áÔÚ±àÒëÆڵõ½¼ì²é£¬²»»áÏó¡¡

Class¡£forName£¨£©ÄÇÑù¡°ÖÀ¡±³öÈκÎÎ¥Àý¡£¡¡¡¡

Pet¡¡¶¯Ì¬´´½¨ºÃÒԺ󣬿ÉÒÔ¿´µ½Ëæ»úÊý×ÖÒѵõ½ÁËÏÞÖÆ£¬Î»ÓÚ¡¡1ºÍ¡¡petTypes¡£length¡¡Ö®¼ä£¬¶øÇÒ²»°üÀ¨Áã¡£¡¡

ÄÇÊÇÓÉÓÚÁã´ú±íµÄÊÇPet¡£class£¬¶øÇÒÒ»¸öÆÕͨµÄ¡¡Pet¡¡¶ÔÏó¿ÉÄܲ»»áÓÐÈ˸ÐÐËȤ¡£È»¶ø£¬ÓÉÓÚPet¡£class¡¡ÊÇ¡¡

petTypes¡¡µÄÒ»²¿·Ö£¬ËùÒÔËùÓÐPet¡¡£¨³èÎ¶¼»áËãÈë¼ÆÊýÖС£¡¡¡¡

¡¡¡¡

2¡£¡¡¶¯Ì¬µÄ¡¡instanceof¡¡¡¡

Java¡¡1¡£1¡¡ÎªClass¡¡ÀàÌí¼ÓÁË¡¡isInstance·½·¨¡£ÀûÓÃËü¿ÉÒÔ¶¯Ì¬µ÷Óá¡instanceof¡¡ÔËËã·û¡£¶øÔÚJava¡¡1¡£0¡¡

ÖУ¬Ö»Äܾ²Ì¬µØµ÷ÓÃËü£¨¾ÍÏóÇ°ÃæÖ¸³öµÄÄÇÑù£©¡£Òò´Ë£¬ËùÓÐÄÇЩ·³È˵ġ¡instanceofÓï¾ä¶¼¿ÉÒÔ´Ó¡¡

PetCount¡¡Àý×ÓÖÐɾȥÁË¡£ÈçÏÂËùʾ£º¡¡¡¡

¡¡¡¡

//£º¡¡PetCount3¡£java¡¡¡¡

//¡¡Using¡¡Java¡¡1¡£1¡¡isInstance£¨£©¡¡¡¡

package¡¡c11¡£petcount3£»¡¡¡¡

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

¡¡¡¡

class¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Dog¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Pug¡¡extends¡¡Dog¡¡£û£ý¡¡¡¡

class¡¡Cat¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Rodent¡¡extends¡¡Pet¡¡£û£ý¡¡¡¡

class¡¡Gerbil¡¡extends¡¡Rodent¡¡£û£ý¡¡¡¡

class¡¡Hamster¡¡extends¡¡Rodent¡¡£û£ý¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡340¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡342¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡

class¡¡Counter¡¡£û¡¡int¡¡i£»¡¡£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡PetCount3¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡Vector¡¡pets¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Class£§£§¡¡petTypes¡¡=¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Pet¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Dog¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Pug¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Cat¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Rodent¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Gerbil¡£class£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Hamster¡£class£»¡¡¡¡

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

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

¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡15£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Offset¡¡by¡¡one¡¡to¡¡eliminate¡¡Pet¡£class£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡rnd¡¡=¡¡1¡¡£«¡¡£¨int£©£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Math¡£random£¨£©¡¡*¡¡£¨petTypes¡£length¡¡1£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£addElement£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡petTypes£§rnd£§¡£newInstance£¨£©£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡£ý¡¡catch£¨InstantiationException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡catch£¨IllegalAccessException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡Hashtable¡¡h¡¡=¡¡new¡¡Hashtable£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡petTypes¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡h¡£put£¨petTypes£§i£§¡£toString£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Counter£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Object¡¡o¡¡=¡¡pets¡£elementAt£¨i£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Using¡¡isInstance¡¡to¡¡eliminate¡¡individual¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡instanceof¡¡expressions£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨int¡¡j¡¡=¡¡0£»¡¡j¡¡¡¶¡¡petTypes¡£length£»¡¡£«£«j£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨petTypes£§j£§¡£isInstance£¨o£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡key¡¡=¡¡petTypes£§j£§¡£toString£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Counter£©h¡£get£¨key£©£©¡£i£«£«£»¡¡¡¡

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

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

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡pets¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pets¡£elementAt£¨i£©¡£getClass£¨£©¡£toString£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Enumeration¡¡keys¡¡=¡¡h¡£keys£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡while£¨keys¡£hasMoreElements£¨£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡String¡¡nm¡¡=¡¡£¨String£©keys¡£nextElement£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Counter¡¡cnt¡¡=¡¡£¨Counter£©h¡£get£¨nm£©£»¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nm¡£substring£¨nm¡£lastIndexOf£¨'¡£'£©¡¡£«¡¡1£©¡¡£«¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡quantity£º¡¡¡¨¡¡£«¡¡cnt¡£i£©£»¡¡¡¡

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

¡¡¡¡£ý¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡341¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡343¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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

¡¡¡¡

¿ÉÒÔ¿´µ½£¬Java¡¡1¡£1¡¡µÄisInstance£¨£©·½·¨ÒÑÈ¡ÏûÁ˶ԡ¡instanceof¡¡±í´ïʽµÄÐèÒª¡£´ËÍ⣬ÕâÒ²Òâζ×ÅÒ»µ©Òª¡¡

ÇóÌí¼ÓÐÂÀàÐͳèÎֻÐè¼òµ¥µØ¸Ä±äpetTypes¡¡Êý×é¼´¿É£»ÎãÐè¸Ä¶¯³ÌÐòÊ£ÓàµÄ²¿·Ö£¨µ«ÔÚʹÓá¡instanceof¡¡

ʱȴÊDZØÐèµÄ£©¡£¡¡¡¡



11¡£2¡¡RTTI¡¡Óï·¨¡¡¡¡



Java¡¡ÓÃClass¡¡¶ÔÏóʵÏÖ×Ô¼ºµÄRTTI¡¡¹¦ÄÜ¡ª¡ª¼´±ãÎÒÃÇÒª×öµÄÖ»ÊÇÏóÔìÐÍÄÇÑùµÄһЩ¹¤×÷¡£Class¡¡ÀàÒ²ÌṩÁË¡¡

ÆäËû´óÁ¿·½Ê½£¬ÒÔ·½±ãÎÒÃÇʹÓÃRTTI¡£¡¡¡¡

Ê×ÏȱØÐë»ñµÃÖ¸ÏòÊʵ±¡¡Class¡¡¶ÔÏóµÄµÄÒ»¸ö¾ä±ú¡£¾ÍÏóÇ°ÀýÑÝʾµÄÄÇÑù£¬Ò»¸ö°ì·¨ÊÇÓÃÒ»¸ö×Ö´®ÒÔ¼°¡¡

Class¡£forName£¨£©·½·¨¡£ÕâÊǷdz£·½±ãµÄ£¬ÒòΪ²»ÐèÒªÄÇÖÖÀàÐ͵ÄÒ»¸ö¶ÔÏóÀ´»ñÈ¡¡¡Class¡¡¾ä±ú¡£È»¶ø£¬¶ÔÓÚ×Ô¡¡

¼º¸ÐÐËȤµÄÀàÐÍ£¬Èç¹ûÒÑÓÐÁËËüµÄÒ»¸ö¶ÔÏó£¬ÄÇôΪÁËÈ¡µÃClass¡¡¾ä±ú£¬¿Éµ÷ÓÃÊôÓÚ¡¡Object¡¡¸ùÀàÒ»²¿·ÖµÄÒ»¡¡

¸ö·½·¨£ºgetClass£¨£©¡£ËüµÄ×÷ÓÃÊÇ·µ»ØÒ»¸öÌض¨µÄClass¡¡¾ä±ú£¬ÓÃÀ´±íʾ¶ÔÏóµÄʵ¼ÊÀàÐÍ¡£Class¡¡ÌṩÁ˼¸¡¡

¸öÓÐȤÇÒ½ÏΪÓÐÓõķ½·¨£¬´ÓÏÂÀý¼´¿É¿´³ö£º¡¡¡¡

¡¡¡¡

//£º¡¡ToyTest¡£java¡¡¡¡

//¡¡Testing¡¡class¡¡Class¡¡¡¡

¡¡¡¡

interface¡¡HasBatteries¡¡£û£ý¡¡¡¡

interface¡¡Waterproof¡¡£û£ý¡¡¡¡

interface¡¡ShootsThings¡¡£û£ý¡¡¡¡

class¡¡Toy¡¡£û¡¡¡¡

¡¡¡¡//¡¡ment¡¡out¡¡the¡¡following¡¡default¡¡¡¡

¡¡¡¡//¡¡constructor¡¡to¡¡see¡¡¡¡¡¡

¡¡¡¡//¡¡NoSuchMethodError¡¡from¡¡£¨*1*£©¡¡¡¡

¡¡¡¡Toy£¨£©¡¡£û£ý¡¡¡¡¡¡

¡¡¡¡Toy£¨int¡¡i£©¡¡£û£ý¡¡¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

class¡¡FancyToy¡¡extends¡¡Toy¡¡¡¡¡¡

¡¡¡¡¡¡¡¡implements¡¡HasBatteries£»¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Waterproof£»¡¡ShootsThings¡¡£û¡¡¡¡

¡¡¡¡FancyToy£¨£©¡¡£û¡¡super£¨1£©£»¡¡£ý¡¡¡¡

£ý¡¡¡¡

¡¡¡¡

public¡¡class¡¡ToyTest¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡Class¡¡c¡¡=¡¡null£»¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡c¡¡=¡¡Class¡£forName£¨¡¨FancyToy¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨ClassNotFoundException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡printInfo£¨c£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Class£§£§¡¡faces¡¡=¡¡c¡£getInterfaces£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡faces¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡printInfo£¨faces£§i£§£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Class¡¡cy¡¡=¡¡c¡£getSuperclass£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Object¡¡o¡¡=¡¡null£»¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Requires¡¡default¡¡constructor£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡o¡¡=¡¡cy¡£newInstance£¨£©£»¡¡//¡¡£¨*1*£©¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨InstantiationException¡¡e£©¡¡£û£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡catch£¨IllegalAccessException¡¡e£©¡¡£û£ý¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡342¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡344¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡printInfo£¨o¡£getClass£¨£©£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡static¡¡void¡¡printInfo£¨Class¡¡cc£©¡¡£û¡¡¡¡

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¨Class¡¡name£º¡¡¡¨¡¡£«¡¡cc¡£getName£¨£©¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡¡¡is¡¡interface£¿¡¡£§¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡cc¡£isInterface£¨£©¡¡£«¡¡¡¨£§¡¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

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

¡¡¡¡

´ÓÖпÉÒÔ¿´³ö£¬class¡¡FancyToy¡¡Ï൱¸´ÔÓ£¬ÒòΪËü´ÓToy¡¡Öм̳У¬²¢ÊµÏÖÁËHasBatteries£¬Waterproof¡¡ÒÔ¡¡

¼°ShootsThings¡¡µÄ½Ó¿Ú¡£ÔÚmain£¨£©Öд´½¨ÁËÒ»¸öClass¡¡¾ä±ú£¬²¢ÓÃλÓÚÏàÓ¦¡¡try¡¡¿éÄڵġ¡forName£¨£©³õʼ»¯³É¡¡

FancyToy¡¡¡£¡¡¡¡

Class¡£getInterfaces¡¡·½·¨»á·µ»Ø¡¡Class¡¡¶ÔÏóµÄÒ»¸öÊý×飬ÓÃÓÚ±íʾ°üº¬ÔÚ¡¡Class¡¡¶ÔÏóÄڵĽӿڡ£¡¡¡¡

ÈôÓÐÒ»¸öClass¡¡¶ÔÏó£¬Ò²¿ÉÒÔÓÃgetSuperclass£¨£©²éѯ¸Ã¶ÔÏóµÄÖ±½Ó»ù´¡ÀàÊÇʲô¡£µ±È»£¬ÕâÖÖ×ö»á·µ»ØÒ»¡¡

¸öClass¡¡¾ä±ú£¬¿ÉÓÃËü×÷½øÒ»²½µÄ²éѯ¡£ÕâÒâζ×ÅÔÚÔËÐÐÆÚµÄʱºò£¬ÍêÈ«Óлú»áµ÷²éµ½¶ÔÏóµÄÍêÕû²ã´Î½á¡¡

¹¹¡£¡¡¡¡

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