Effective Java ѧϰ±Ê¼Ç (11)
CloneÕâ¸ö·½·¨ºÜ¼¦Àߣ¬ÔÒòÊÇÒòΪËüÊÇÊܱ£»¤µÄ(protected)£¬Æä¶þCloneÕâ¸ö·½·¨ÊÇ¿ÉÑ¡µÄ£¬¼´ÓпÉÄÜÀàûÓÐÌṩÕâ¸ö·½·¨¡£
cloneûÓе÷Óù¹Ô캯Êý£¬¶øÇÒÈç¹û¸¸ÀàûÓÐʵÏÖcloneµÄ»°£¬×ÓÀàÓÀÔ¶Ò²²»¿ÉÄÜÕýȷʵÏÖclone.
×ÜÖ®£¬cloneÊǸöºÜÍ·Í´µÄº¯Êý£¬Èç¹ûÒªÕýȷʵÏÖ£¬±ØÐ뿼Âǵ½É±´µÄÇé¿ö£¬·ñÔò±»¿Ë¡³öÀ´µÄ¶ÔÏó¾Í²»ÊǶÀÁ¢µÄ£¬È磬Ҫдһ¸ö¶ÑÕ»ÀàµÄ¿Ë¡º¯Êý£¬ÕýÈ·µÄʵÏÖ·½·¨ÊÇ£º
@Override public Stack clone() {
try {
Stack result = (Stack) super.clone();
result.elements = elements.clone();
return result;
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}
ҪעÒâ¶ÔÓÚfinal×ֶβ»ÄÜÕý³£¹¤×÷£¬clone½á¹¹Óë¿É±ä¶ÔÏóµÄfinal×Ö¶ÎÊDz»¼æÈݵġ£
¶ÔÓÚÁÐÉ¢Êý×飬½ö½öµÝ¹éµ÷ÓõÄclone·½·¨»¹²»¹»£¬¿´ÊéÖÐÕýÈ·µÄ×ö·¨£º
public class HashTable implements Cloneable {
private Entry[] buckets = ...;
private static class Entry {
final Object key;
Ïà¹ØÎĵµ£º
³¡¾°£ºÏÖÔÚÓиö´ÅÅÌÊä³öµÄÒµÎñ£¬¿Í»§¶ËÐèҪͨ¹ý2¸öÒµÎñ¶ÔÏó½øÐÐÊä³ö¡£
Ò»¸öÊÇͨ¹ýFloppy(ÈíÅÌ)£¬ÁíÒ»¸öÊÇͨ¹ýUSB½Ó¿Ú¡£
ÕâÑù¾ÍÐèÒª2¸öÒµÎñÀ࣬µ«ÊÇÈç¹û²»Èÿͻ§¶ËÖªµÀ¶øÊµÏÖ¼òµ¥µÄ×¢ÈëÄØ£¿
Ê×ÏÈ£¬ÓÉÓÚÓÐ2ÖÖÉ豸£¬ÈíÅ̺ÍUSB£¬Òò´ËÎÒÃÇÐèÒª½¨Á¢Ò»¸öÉ豸½Ó¿ÚIDeviceWriter¡£
´úÂëÈçÏ£º ......
ÃæÊÔʱºò¾³£»áÅöµ½µÄÒ»¸öÎÊÌ⣬¸øÄãÁ½¸ö¼Ì³Ð¹ØÏµµÄjavaÀàµÄ´úÂ룬ÕâÁ½¸öÀàÖÐÓй¹Ôì·½·¨ºÍһЩ±äÁ¿£¬È»ºó»¹ÓÐһЩ·½·¨£¬·½·¨Àïͨ³£Óн«±äÁ¿Êä³öµÄÓï¾ä¡£ÕâÀàÎÊÌâÖ÷Òª¿¼²ìÎÒÃǶԸ¸Àà×ÓÀà³õʼ»¯Ë³ÐòµÄÁ˽âÇé¿ö¡£
ÕâÀïÎÒÃÇÖ÷ÒªÌÖÂÛϾ²Ì¬³õʼ»¯¿éÕâÖÖÇé¿ö¡£
......
´ó¼ÒºÃ£¡ ÎÒ½ÐСºÂ Ò²ÊǸտªÊ¼Ñ§ÓÃJAVA¿ª·¢WEBÏîÄ¿£¬Ï£Íû´ó¼Ò¸øÎÒ½¨ÒéÏ£¬ÓÐʲô·½·¨¿ÉÒÔѧºÃ£¬ÓãʣÁ£Ö£Á¿ª·¢WEBÏîÄ¿£¡~ ÏÖÔÚÎÒ»¹Ó¦¸Ãѧµãʲô Ï£Íû´ó¼Ò¶àÖ¸µãÖ¸µã~ ÎÒÏÖÔÚSSH ѧÍêÁË£¡ ´ó¼ÒÄÜÓÐʲôºÃµãµÄ½¨ÒéÂ𣿡¡¡¡ÓеϰÁªÏµÏÂÎÒллÁË¡«¡¡ ......
Ò»¡¢
ΪʲôҪʹÓÃ
JSP
ÔÚ¿Í»§¶ËÍøÒ³±à³ÌÖÐ
Java
µÄ½â¾ö·½°¸ÊÇ
Servlet/JSP
¡£¶ÔÓÚ¶¯Ì¬Ò³ÃæµÄÐγÉÎÒÃÇ¿ÉÒÔÀûÓÃÔÚ
Servlet
Öбàд×Ö·û´®ÊµÏÖ£¬µ«ÊÇÕâÑù»áʹ³ÌÐòÔ±µÄ¹¤×÷±äµÃÒì³£µÄ·±Ëö£¬ËùÒÔÎÒÃDzÉÓÃ
JSP
´ïµ½ÍøÒ³µÄ¶¯Ì¬ÏÔʾ¡£
¶þ¡¢
ʲôÊÇ
JSP
JSP
£¨
JavaServerPage
£©ºÍ
Servlet
ÊÇ
Java
ÖвúÉú¶¯Ì ......