°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡abstract¡¡public¡¡int¡¡getColor£¨£©£»¡¡¡¡
¡¡¡¡public¡¡Shape£¨int¡¡xVal£»¡¡int¡¡yVal£»¡¡int¡¡dim£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡xPos¡¡=¡¡xVal£»¡¡¡¡
¡¡¡¡¡¡¡¡yPos¡¡=¡¡yVal£»¡¡¡¡
¡¡¡¡¡¡¡¡dimension¡¡=¡¡dim£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡String¡¡toString£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡getClass£¨£©¡£toString£¨£©¡¡£«¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡color£§¡¨¡¡£«¡¡getColor£¨£©¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨£§¡¡xPos£§¡¨¡¡£«¡¡xPos¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨£§¡¡yPos£§¡¨¡¡£«¡¡yPos¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨£§¡¡dim£§¡¨¡¡£«¡¡dimension¡¡£«¡¡¡¨£§n¡¨£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡Shape¡¡randomFactory£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡xVal¡¡=¡¡r¡£nextInt£¨£©¡¡£¥¡¡100£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡328¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡330¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡yVal¡¡=¡¡r¡£nextInt£¨£©¡¡£¥¡¡100£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡dim¡¡=¡¡r¡£nextInt£¨£©¡¡£¥¡¡100£»¡¡¡¡
¡¡¡¡¡¡¡¡switch£¨counter£«£«¡¡£¥¡¡3£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡default£º¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡case¡¡0£º¡¡return¡¡new¡¡Circle£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡case¡¡1£º¡¡return¡¡new¡¡Square£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡case¡¡2£º¡¡return¡¡new¡¡Line£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Circle¡¡extends¡¡Shape¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡int¡¡color¡¡=¡¡RED£»¡¡¡¡
¡¡¡¡public¡¡Circle£¨int¡¡xVal£»¡¡int¡¡yVal£»¡¡int¡¡dim£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡setColor£¨int¡¡newColor£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡newColor£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡int¡¡getColor£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡color£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Square¡¡extends¡¡Shape¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡int¡¡color£»¡¡¡¡
¡¡¡¡public¡¡Square£¨int¡¡xVal£»¡¡int¡¡yVal£»¡¡int¡¡dim£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡RED£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡setColor£¨int¡¡newColor£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡newColor£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡int¡¡getColor£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡color£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
class¡¡Line¡¡extends¡¡Shape¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡int¡¡color¡¡=¡¡RED£»¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡¡¡¡¡
¡¡¡¡serializeStaticState£¨ObjectOutputStream¡¡os£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡IOException¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡os¡£writeInt£¨color£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡¡¡¡¡
¡¡¡¡deserializeStaticState£¨ObjectInputStream¡¡os£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡IOException¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡os¡£readInt£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡Line¡¡£¨int¡¡xVal£»¡¡int¡¡yVal£»¡¡int¡¡dim£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡super£¨xVal£»¡¡yVal£»¡¡dim£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡329¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡331¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡setColor£¨int¡¡newColor£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡color¡¡=¡¡newColor£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡int¡¡getColor£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡color£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡CADState¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡Exception¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Vector¡¡shapeTypes£»¡¡shapes£»¡¡¡¡
¡¡¡¡¡¡¡¡if£¨args¡£length¡¡==¡¡0£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapeTypes¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapes¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Add¡¡handles¡¡to¡¡the¡¡class¡¡objects£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapeTypes¡£addElement£¨Circle¡£class£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapeTypes¡£addElement£¨Square¡£class£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapeTypes¡£addElement£¨Line¡£class£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Make¡¡some¡¡shapes£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡10£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡shapes¡£addElement£¨Shape¡£randomFactory£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Set¡¡all¡¡the¡¡static¡¡colors¡¡to¡¡GREEN£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡10£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£¨Shape£©shapes¡£elementAt£¨i£©£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£setColor£¨Shape¡£GREEN£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Save¡¡the¡¡state¡¡vector£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ObjectOutputStream¡¡out¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡ObjectOutputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileOutputStream£¨¡¨CADState¡£out¡¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡out¡£writeObject£¨shapeTypes£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Line¡£serializeStaticState£¨out£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡out¡£writeObject£¨shapes£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡else¡¡£û¡¡//¡¡There's¡¡a¡¡mand¡line¡¡argument¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ObjectInputStream¡¡in¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡ObjectInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileInputStream£¨args£§0£§£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Read¡¡in¡¡the¡¡same¡¡order¡¡they¡¡were¡¡written£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapeTypes¡¡=¡¡£¨Vector£©in¡£readObject£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Line¡£deserializeStaticState£¨in£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡shapes¡¡=¡¡£¨Vector£©in¡£readObject£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Display¡¡the¡¡shapes£º¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨shapes£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
Shape¡¡£¨¼¸ºÎÐÎ×´£©ÀࡰʵÏÖÁË¿ÉÐòÁл¯¡±£¨implements¡¡Serializable£©£¬ËùÒÔ´ÓShape¡¡¼Ì³ÐµÄÈκζ«Î÷Ò²¡¡
¶¼»á×Ô¶¯¡°¿ÉÐòÁл¯¡±¡£Ã¿¸ö¡¡Shape¡¡¶¼°üº¬ÁËÊý¾Ý£¬¶øÇÒÿ¸öÑÜÉúµÄShape¡¡À඼°üº¬ÁËÒ»¸öÌØÊâµÄ¡¡static¡¡×Ö¡¡
¶Î£¬ÓÃÓÚ¾ö¶¨ËùÓÐÄÇЩÀàÐ͵ġ¡Shape¡¡µÄÑÕÉ«£¨È罫һ¸ö¡¡static×Ö¶ÎÖÃÈë»ù´¡À࣬½á¹ûÖ»»á²úÉúÒ»¸ö×ֶΣ¬Òò¡¡
Ϊ¡¡static¡¡×Ö¶ÎδÔÚÑÜÉúÀàÖи´ÖÆ£©¡£¿É¶Ô»ù´¡ÀàÖеķ½·¨½øÐи²¸Ç´¦Àí£¬ÒÔ±ãΪ²»Í¬µÄÀàÐÍÉèÖÃÑÕÉ«¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡330¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡332¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡£¨static¡¡·½·¨²»»á¶¯Ì¬°ó¶¨£¬ËùÒÔÕâЩ¶¼ÊÇÆÕͨµÄ·½·¨£©¡£Ã¿´Îµ÷ÓÃrandomFactory£¨£©·½·¨Ê±£¬Ëü¶¼»á´´½¨¡¡
Ò»¸ö²»Í¬µÄ¡¡Shape¡¡£¨Shape¡¡Öµ²ÉÓÃËæ»úÖµ£©¡£¡¡¡¡
Circle¡¡£¨Ô²£©ºÍSquare¡¡£¨¾ØÐΣ©ÊôÓÚ¶ÔShape¡¡µÄÖ±½ÓÀ©Õ¹£»Î¨Ò»µÄ²î±ðÊÇCircle¡¡ÔÚ¶¨Òåʱ»á³õʼ»¯ÑÕÉ«£¬¡¡
¶øSquare¡¡ÔÚ¹¹½¨Æ÷Öгõʼ»¯¡£Line¡¡£¨Ö±Ïߣ©µÄÎÊÌ⽫Áôµ½ÒÔºóÌÖÂÛ¡£¡¡¡¡
ÔÚmain£¨£©ÖУ¬Ò»¸öVector¡¡ÓÃÓÚÈÝÄÉClass¡¡¶ÔÏ󣬶øÁíÒ»¸öÓÃÓÚÈÝÄÉÐÎ×´¡£Èô²»ÌṩÏàÓ¦µÄÃüÁîÐвÎÊý£¬¾Í¡¡
»á´´½¨¡¡shapeTypes¡¡Vector£¬²¢Ìí¼ÓClass¡¡¶ÔÏó¡£È»ºó´´½¨¡¡shapes¡¡Vector£¬²¢Ìí¼ÓShape¡¡¶ÔÏó¡£½ÓÏÂÀ´£¬Ëù¡¡
ÓС¡static¡¡color¡¡Öµ¶¼»áÉè³É¡¡GREEN£¬¶øÇÒËùÓж«Î÷¶¼»áÐòÁл¯µ½Îļþ¡¡CADState¡£out¡£¡¡¡¡
ÈôÌṩÁËÒ»¸öÃüÁîÐвÎÊý£¨¼ÙÉèCADState¡£out£©£¬±ã»á´ò¿ªÄǸöÎļþ£¬²¢ÓÃËü»Ö¸´³ÌÐòµÄ״̬¡£ÎÞÂÛÔÚÄÄÖÖ¡¡
Çé¿öÏ£¬½á¹û²úÉúµÄShape¡¡µÄVector¡¡¶¼»á´òÓ¡³öÀ´¡£ÏÂÃæÁгöËüijһ´ÎÔËÐеĽá¹û£º¡¡¡¡
¡¡¡¡
¡·java¡¡CADState¡¡¡¡
£§class¡¡Circle¡¡color£§3£§¡¡xPos£§¡51£§¡¡yPos£§¡99£§¡¡dim£§38£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§3£§¡¡xPos£§2£§¡¡yPos£§61£§¡¡dim£§¡46£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§51£§¡¡yPos£§73£§¡¡dim£§64£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§3£§¡¡xPos£§¡70£§¡¡yPos£§1£§¡¡dim£§16£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§3£§¡¡xPos£§3£§¡¡yPos£§94£§¡¡dim£§¡36£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§¡84£§¡¡yPos£§¡21£§¡¡dim£§¡35£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§3£§¡¡xPos£§¡75£§¡¡yPos£§¡43£§¡¡dim£§22£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§3£§¡¡xPos£§81£§¡¡yPos£§30£§¡¡dim£§¡45£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§¡29£§¡¡yPos£§92£§¡¡dim£§17£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§3£§¡¡xPos£§17£§¡¡yPos£§90£§¡¡dim£§¡76£§¡¡¡¡
£§¡¡¡¡
¡¡¡¡
¡·java¡¡CADState¡¡CADState¡£out¡¡¡¡
£§class¡¡Circle¡¡color£§1£§¡¡xPos£§¡51£§¡¡yPos£§¡99£§¡¡dim£§38£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§0£§¡¡xPos£§2£§¡¡yPos£§61£§¡¡dim£§¡46£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§51£§¡¡yPos£§73£§¡¡dim£§64£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§1£§¡¡xPos£§¡70£§¡¡yPos£§1£§¡¡dim£§16£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§0£§¡¡xPos£§3£§¡¡yPos£§94£§¡¡dim£§¡36£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§¡84£§¡¡yPos£§¡21£§¡¡dim£§¡35£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§1£§¡¡xPos£§¡75£§¡¡yPos£§¡43£§¡¡dim£§22£§¡¡¡¡
£»¡¡class¡¡Square¡¡color£§0£§¡¡xPos£§81£§¡¡yPos£§30£§¡¡dim£§¡45£§¡¡¡¡
£»¡¡class¡¡Line¡¡color£§3£§¡¡xPos£§¡29£§¡¡yPos£§92£§¡¡dim£§17£§¡¡¡¡
£»¡¡class¡¡Circle¡¡color£§1£§¡¡xPos£§17£§¡¡yPos£§90£§¡¡dim£§¡76£§¡¡¡¡
£§¡¡¡¡
¡¡¡¡
´ÓÖпÉÒÔ¿´³ö£¬xPos£¬yPos¡¡ÒÔ¼°dim¡¡µÄÖµ¶¼Òѳɹ¦±£´æºÍ»Ö¸´³öÀ´¡£µ«ÔÚ»ñÈ¡¡¡staticÐÅϢʱȴ³öÏÖÁËÎÊ¡¡
Ìâ¡£ËùÓС°3¡±¶¼ÒѽøÈ룬µ«Ã»ÓÐÕý³£µØ³öÀ´¡£Circle¡¡ÓÐÒ»¸ö¡¡1Öµ£¨¶¨ÒåΪ¡¡RED£©£¬¶øSquare¡¡ÓÐÒ»¸ö¡¡0¡¡Öµ¡¡
¡¡£¨¼Çס£¬ËüÃÇÊÇÔÚ¹¹½¨Æ÷Àï³õʼ»¯µÄ£©¡£¿´ÉÏÈ¥Ëƺõstatic¡¡¸ù±¾Ã»Óеõ½³õʼ»¯£¡ÊµÇéÕýÊÇÈç´Ë¡ª¡ª¾¡¹ÜÀà¡¡
Class¡¡ÊÇ¡°¿ÉÒÔÐòÁл¯µÄ¡±£¬µ«È´²»ÄÜ°´ÎÒÃÇÏ£ÍûµÄ¹¤×÷¡£ËùÒÔ¼ÙÈçÏëÐòÁл¯staticÖµ£¬±ØÐëÇ××Ô¶¯ÊÖ¡£¡¡¡¡
ÕâÕýÊÇ¡¡Line¡¡Öеġ¡serializeStaticState£¨£©ºÍ¡¡deserializeStaticState£¨£©Á½¸ö¡¡static¡¡·½·¨µÄÓÃ;¡£¿ÉÒÔ¿´¡¡
µ½£¬ÕâÁ½¸ö·½·¨¶¼ÊÇ×÷Ϊ´æ´¢ºÍ»Ö¸´½ø³ÌµÄÒ»²¿·ÖÃ÷È·µ÷Óõģ¨×¢ÒâдÈëÐòÁл¯ÎļþºÍ´ÓÖжÁ»ØµÄ˳Ðò²»ÄÜ¡¡
¸Ä±ä£©¡£ËùÒÔΪÁËʹCADState¡£java¡¡ÕýÈ·ÔËÐÐÆðÀ´£¬±ØÐë²ÉÓÃÏÂÊöÈýÖÖ·½·¨Ö®Ò»£º¡¡¡¡
£¨1£©¡¡Îª¼¸ºÎÐÎ×´Ìí¼ÓÒ»¸öserializeStaticState£¨£©ºÍ¡¡deserializeStaticState£¨£©¡£¡¡¡¡
£¨2£©¡¡É¾³ýVector¡¡shapeTypes¡¡ÒÔ¼°ÓëÖ®ÓйصÄËùÓдúÂë¡¡¡¡
£¨3£©¡¡ÔÚ¼¸ºÎÐÎ×´ÄÚÌí¼Ó¶ÔÐÂÐòÁл¯ºÍ³·ÏûÐòÁл¯¾²Ì¬·½·¨µÄµ÷Óá¡¡¡
ҪעÒâµÄÁíÒ»¸öÎÊÌâÊÇ°²È«£¬ÒòΪÐòÁл¯´¦ÀíÒ²»á½«private¡¡Êý¾Ý±£´æÏÂÀ´¡£ÈôÓÐÐèÒª±£ÃܵÄ×ֶΣ¬Ó¦½«Æä¡¡
±ê¼Ç³É¡¡transient¡£µ«ÔÚÕâÖ®ºó£¬±ØÐëÉè¼ÆÒ»ÖÖ°²È«µÄÐÅÏ¢±£´æ·½·¨¡£ÕâÑùÒ»À´£¬Ò»µ©ÐèÒª»Ö¸´£¬¾Í¿ÉÒÔÖØ¡¡
ÉèÄÇЩprivate¡¡±äÁ¿¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡331¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡333¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
10¡£10¡¡×ܽᡡ¡¡
Java¡¡IO¡¡Á÷¿âÄÜÂú×ãÎÒÃǵÄÐí¶à»ù±¾ÒªÇ󣺿ÉÒÔͨ¹ý¿ØÖÆ̨¡¢Îļþ¡¢ÄÚ´æ¿éÉõÖÁÒòÌØÍø£¨²Î¼ûµÚ¡¡15Õ£©½øÐС¡
¶Áд¡£¿ÉÒÔ´´½¨ÐµÄÊäÈëºÍÊä³ö¶ÔÏóÀàÐÍ£¨Í¨¹ý´Ó¡¡InputStreamºÍ¡¡OutputStream¡¡¼Ì³Ð£©¡£ÏòÒ»¸ö±¾À´Ô¤ÆÚΪ¡¡
ÊÕµ½×Ö´®µÄ·½·¨´«µÝÒ»¸ö¶ÔÏóʱ£¬ÓÉÓÚJava¡¡ÒÑÏÞÖÆÁË¡°×Ô¶¯ÀàÐÍת»»¡±£¬ËùÒÔ»á×Ô¶¯µ÷ÓÃtoString£¨£©·½¡¡
·¨¡£¶øÎÒÃÇ¿ÉÒÔÖØж¨ÒåÕâ¸ö¡¡toString£¨£©£¬À©Õ¹Ò»¸öÊý¾ÝÁ÷ÄܽÓÄɵĶÔÏóÖÖÀà¡£¡¡¡¡
ÔÚ¡¡IO¡¡Êý¾ÝÁ÷¿âµÄÁª»úÎĵµºÍÉè¼Æ¹ý³ÌÖУ¬ÈÔÓÐЩÎÊÌâûÓнâ¾ö¡£±ÈÈçµ±ÎÒÃÇ´ò¿ªÒ»¸öÎļþÒÔ±ãÊä³öʱ£¬ÍêÈ«¡¡
¿ÉÒÔÖ¸¶¨Ò»µ©ÓÐÈËÊÔͼ¸²¸Ç¸ÃÎļþ¾Í¡°ÖÀ¡±³öÒ»¸öÎ¥Àý¡ª¡ªÓеıà³ÌϵͳÔÊÐíÎÒÃÇ×ÔÐÐÖ¸¶¨Ïë´ò¿ªÒ»¸öÊä³ö¡¡
Îļþ£¬µ«Î¨Ò»µÄÇ