¡¶Effective javaÖÐÎĵÚ2°æ¡·¶ÁÊé±Ê¼Ç1
µÚ2Ìõ£ºÓöµ½¶à¸ö¹¹ÔìÆ÷²ÎÊýʱҪ¿¼ÂÇÓù¹½¨Æ÷
ij¸öÀàµÄÊôÐԽ϶࣬³õʼ»¯µÄʱºòÓÖÓÐһЩÊDZØÐë³õʼ»¯µÄ£¬¶øÇÒÀàÐÍÓÐÐÎͬ£¬
±ÈÈçnew Contact("ÐÕÃû","ÏÔʾÃû","ÊÖ»úºÅ","·ÉÐźÅ","ËùÔÚµØ",ÄêÁä,ÐÔ±ð);
ǰ5¸öÊôÐÔÊÇString ÀàÐÍ£¬ºó2¸öÊÇintÀàÐÍ£¬ÔÚÌîд¹¹Ôì·½·¨µÄʱºòºÜÈÝÒ×Ìîд´í룬»òÕßÉÙÌîд£¬»òÕߵߵ¹ÁËÊôÐÔ£¬
ÈçÏ·½·¨¿ÉÒÔ¼õÉÙÕâÖÖ´íÎó·¢ÉúµÄ¼¸ÂÊ£¬
Contact contact = new Contact();
contact.setName("ÐÕÃû");
contact.setDisplayName("ÏÔʾÃû");
contact.setPhoneNumber("ÊÖ»úºÅ");
contact.setFetionNumber("·ÉÐźÅ");
contact.setHometown("ËùÔÚµØ");
contact.setAge(23);
contact.setGender(0);
ÕâôдÊÇͨ³£µÄ×ö·¨£¬¿´ÆðÀ´»¹²»¹»ÇåÎú£¬ÎÒÃÇÔÚÿ¸öset·½·¨ÀïretrunÒ»¸öContactÀàÐÍ£¬±ÈÈç
public Contact setName(String name)
{
this.name = name;
return this;
}
ÕâÑùÉÏÃæµÄ¹¹ÔìContactµÄ´úÂë¾Í¿ÉÒÔÕâôдÁË
Contact contact = new Contact() .setName("ÐÕÃû")
.setDisplayName("ÏÔʾÃû")
.setPhoneNumber("ÊÖ»úºÅ")
.setFetionNumber("·ÉÐźÅ")
.setHometown("ËùÔÚµØ")
.setAge(23)
.setGender(0);
ÕâÑùдÊDz»ÊǸüÇåˬÁË£¡ÊôÐÔ²»»áÔÙÌîд´íÎóÁË£¡¶øÇÒÔĶÁ´úÂëµÄʱºòҲһĿÁËÈ»£¬¶¼¸øContact³õʼ»¯ÁËÄÇЩÊôÐÔ£¬ºÍÊôÐÔµÄÖµÊÇʲô£¡
µÚ3Ìõ£ºÓÃ˽Óй¹ÔìÆ÷»òÕßö¾ÙÀàÐÍÇ¿»¯SingletonÊôÐÔ
½¨ÒéʹÓÃÈçÏ·½·¨´´½¨µ¥ÀýÀà
public final class Elvis
{
private static Elvis INSTANCE;
private Elvis(){};
synchronized public static Elvis getInstance()
{
if( INSTANCE == null )
{
INSTANCE = new Elvis();
}
return INSTANCE;
}
//Ö´ÐÐÆäËû²Ù×÷
private Object readResolve()
{
return INSTANCE;
}
}
ÕâÖÖ¹¹½¨·½·¨ºÃ´¦£¬×é³ÉÀàµÄ³ÉÔ±ÉùÃ÷ºÜÇå³þµØ±íÃ÷ÁËÕâ¸öÀàÊǸöSingleton£¬²¢ÇÒÒ²½â¾öÁËINSTANCEµÄͬ²½ÎÊÌ⣬
ûÓб©Â¶¹²ÓеÄINSTANCE±äÁ¿£¬ÕâÑù¸üÓÐÁ¦ÓÚÒþ²ØÀàµÄÄÚ²¿ÊµÏÖ£¬
ÁíÍ⣬¸Ä×ö·¨Ò²ºÜÈÝÒ׾ͿÉÒÔÐ޸ijɷǵ¥Àýģʽ£¬¼ÓÉϵÄreadResolve·½·¨¿ÉÒÔ±£Ö¤·´ÐòÁл¯Ê±Ò²ÊÇͬһ¸ö¶ÔÏó¡£
µÚ4Ìõ£ºÍ¨¹ý˽Óй¹ÔìÆ÷Ç¿»¯²»¿ÉʵÀý»¯µÄÄÜÁ¦
ÎÒÃÇÈí¼þÖг£Óõij£Á¿¼¯(Constants)£¬¹¤¾ß¼¯(Tool,Utility)¶¼Ó¦¸ÃÊDz»¿ÉʵÀý»¯µÄÀ࣬ÄÇôËûÃÇÓ¦¸ÃÈçϹ¹½¨
public final class
Ïà¹ØÎĵµ£º
96¡¢JAVAÓïÑÔÈçºÎ½øÐÐÒì³£´¦Àí£¬¹Ø¼ü×Ö£ºthrows,throw,try,catch,finally·Ö±ð´ú±íʲôÒâÒ壿ÔÚtry¿éÖпÉÒÔÅ׳öÒì³£Âð£¿
Javaͨ¹ýÃæÏò¶ÔÏóµÄ·½·¨½øÐÐÒì³£´¦Àí£¬°Ñ¸÷ÖÖ²»Í¬µÄÒì³£½øÐзÖÀ࣬²¢ÌṩÁËÁ¼ºÃµÄ½Ó¿Ú¡£ÔÚJavaÖУ¬Ã¿¸öÒì³£¶¼ÊÇÒ»¸ö¶ÔÏó£¬ËüÊÇThrowableÀà»òÆäËü×ÓÀàµÄʵÀý¡£µ±Ò»¸ö·½·¨³öÏÖÒì³£ºó±ãÅ׳öÒ»¸öÒì³£¶ÔÏó£¬ ......
1. ÔÚCÓïÑÔÖУ¬ÎÒÃÇͨ³£Ï°¹ß°ÑÐèÒªµÄ¶ÔÏóÉêÃ÷·ÅÔÚº¯ÊýµÄ¿ªÍ·£¬µ«ÆäʵÕâÊǰװ×ÀË·ÑÁËÄڴ棬ÔÚJavaÖУ¬²»µ½ÐèÒªµÄʱºò£¬Çë²»Òª´´½¨¶ÔÏó¡£
2. À¬»ø»ØÊջ᲻¶¨ÆÚµÄËÑË÷ÒѾûÓÐÓõĶÔÏó£¬È»ºóÊͷŶÔÏóµÄÄڴ棬µ«ÕâÖÖËÑË÷ÊDZȽϺÄ×ÊÔ´µÄ¡£ÎªÌá¸ßЧÂÊ£ ......
l JBS
1.Áоٳö 10¸öJAVAÓïÑÔµÄÓÅÊÆ
a:Ãâ·Ñ£¬¿ªÔ´£¬¿çƽ̨(ƽ̨¶ÀÁ¢ÐÔ)£¬¼òµ¥Ò×Ó㬹¦ÄÜÍêÉÆ£¬ÃæÏò¶ÔÏ󣬽¡×³ÐÔ£¬¶àỊ̈߳¬½á¹¹ÖÐÁ¢£¬ÆóÒµÓ¦ÓõijÉÊìÆ½Ì¨, ÎÞÏßÓ¦ÓÃ
2.ÁоٳöJAVAÖÐ10¸öÃæÏò¶ÔÏó±à³ÌµÄÊõÓï
a:°ü£¬À࣬½Ó¿Ú£¬¶ÔÏó£¬ÊôÐÔ£¬·½·¨£¬¹¹ÔìÆ÷£¬¼Ì³Ð£¬·â×°£¬¶à̬£¬³éÏ󣬷¶ÐÍ
3.ÁоٳöJAVAÖÐ6¸ ......
ÖÚËùÖÜÖª£¬StringÊÇÓÉ×Ö·û×é³ÉµÄ´®£¬ÔÚ³ÌÐòÖÐʹÓÃÆµÂʺܸߡ£JavaÖеÄStringÊÇÒ»¸öÀ࣬¶ø²¢·Ç»ù±¾Êý¾ÝÀàÐÍ¡£ ²»¹ýËýÈ´²»ÊÇÆÕͨµÄÀàŶ£¡£¡£¡
¡¾¾µÍ·1¡¿ String¶ÔÏóµÄ´´½¨
1¡¢¹ØÓÚÀà¶ÔÏóµÄ´´½¨£¬ºÜÆÕͨµÄÒ»ÖÖ·½Ê½¾ÍÊÇÀûÓù¹ÔìÆ÷£¬StringÀàÒ²²»ÀýÍ⣺
& ......