¶Ôjava¼¼ÊõStringµÄ̽ÌÖÐø
1. Ê×ÏÈString²»ÊôÓÚ8ÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬StringÊÇÒ»¸ö¶ÔÏó¡£
ÒòΪ¶ÔÏóµÄĬÈÏÖµÊÇnull£¬ËùÒÔStringµÄĬÈÏÖµÒ²ÊÇnull£»µ«ËüÓÖÊÇÒ»ÖÖÌØÊâµÄ¶ÔÏó£¬ÓÐÆäËü¶ÔÏóûÓеÄÒ»Ð©ÌØÐÔ¡£
2. new String()ºÍnew String(“”)¶¼ÊÇÉêÃ÷Ò»¸öеĿÕ×Ö·û´®£¬Êǿմ®²»ÊÇnull£»
3. String str=”kvill”£»
String str=new String (“kvill”);µÄÇø±ð£º
ÔÚÕâÀÎÒÃDz»Ì¸¶Ñ£¬Ò²²»Ì¸Õ»£¬Ö»Ïȼòµ¥ÒýÈë³£Á¿³ØÕâ¸ö¼òµ¥µÄ¸ÅÄî¡£
³£Á¿³Ø(constant pool)Ö¸µÄÊÇÔÚ±àÒëÆÚ±»È·¶¨£¬²¢±»±£´æÔÚÒѱàÒëµÄ.classÎļþÖеÄһЩÊý¾Ý¡£Ëü°üÀ¨Á˹ØÓÚÀà¡¢·½·¨¡¢½Ó¿ÚµÈÖеij£Á¿£¬Ò²°üÀ¨×Ö·û´®³£Á¿¡£
¿´Àý1£º
String s0=”kvill”;
String s1=”kvill”;
String s2=”kv” + “ill”;
System.out.println( s0==s1 );
System.out.println( s0==s2 );
½á¹ûΪ£º
true
true
Ê×ÏÈ£¬ÎÒÃÇÒªÖª½á¹ûΪµÀJava»áÈ·±£Ò»¸ö×Ö·û´®³£Á¿Ö»ÓÐÒ»¸ö¿½±´¡£
ÒòΪÀý×ÓÖеÄs0ºÍs1ÖеĔkvill”¶¼ÊÇ×Ö·û´®³£Á¿£¬ËüÃÇÔÚ±àÒëÆÚ¾Í±»È·¶¨ÁË£¬ËùÒÔs0==s1Ϊtrue£»¶ø”kv”ºÍ”ill”Ò²¶¼ÊÇ×Ö·û´®³£Á¿£¬µ±Ò»¸ö×Ö·û´®Óɶà¸ö×Ö·û´®³£Á¿Á¬½Ó¶ø³Éʱ£¬Ëü×Ô¼º¿Ï¶¨Ò²ÊÇ×Ö·û´®³£Á¿£¬ËùÒÔs2ҲͬÑùÔÚ±àÒëÆÚ¾Í±»½âÎöΪһ¸ö×Ö·û´®³£Á¿£¬ËùÒÔs2Ò²Êdz£Á¿³ØÖДkvill”µÄÒ»¸öÒýÓá£
ËùÒÔÎÒÃǵóös0==s1==s2;
ÓÃnew String() ´´½¨µÄ×Ö·û´®²»Êdz£Á¿£¬²»ÄÜÔÚ±àÒëÆÚ¾ÍÈ·¶¨£¬ËùÒÔnew String() ´´½¨µÄ×Ö·û´®²»·ÅÈë³£Á¿³ØÖУ¬ËüÃÇÓÐ×Ô¼ºµÄµØÖ·¿Õ¼ä¡£
¿´Àý2£º
String s0=”kvill”;
String s1=new String(”kvill”);
String s2=”kv” + new String(“ill”);
System.out.println( s0==s1 );
System.out.println( s0==s2 );
System.out.println( s1==s2 );
½á¹ûΪ£º
false
false
false
Àý2ÖÐs0»¹Êdz£Á¿³ØÖДkvill”µÄÓ¦Óã¬s1ÒòΪÎÞ·¨ÔÚ±àÒëÆÚÈ·¶¨£¬ËùÒÔÊÇÔËÐÐʱ´´½¨µÄжÔÏó”kvill”µÄÒýÓã¬s2ÒòΪÓкó°ë²¿·Önew String(“ill”)ËùÒÔÒ²ÎÞ·¨ÔÚ±àÒëÆÚÈ·¶¨£¬ËùÒÔÒ²ÊÇÒ»¸öд´½¨¶ÔÏó”kvill”µÄÓ¦ÓÃ;Ã÷°×ÁËÕâЩҲ¾ÍÖªµÀΪºÎµÃ³ö´Ë½á¹ûÁË¡£
4. String.intern()£º
ÔÙ²¹³ä½éÉÜÒ»µã£º´æÔÚÓÚ.classÎļþÖеij£Á¿³Ø£¬ÔÚÔËÐÐÆÚ±»JVM×°ÔØ£¬²¢ÇÒ¿ÉÒÔÀ©³ä¡£StringµÄintern()·½·¨¾ÍÊÇÀ©³ä³£Á¿³ØµÄÒ»¸
Ïà¹ØÎĵµ£º
JavaÏ̵߳÷¶ÈÊÇJava¶àÏ̵߳ĺËÐÄ£¬Ö»ÓÐÁ¼ºÃµÄµ÷¶È£¬²ÅÄܳä·Ö·¢»ÓϵͳµÄÐÔÄÜ£¬Ìá¸ß³ÌÐòµÄÖ´ÐÐЧÂÊ¡£
ÕâÀïÒªÃ÷È·µÄÒ»µã£¬²»¹Ü³ÌÐòÔ±Ôõô±àдµ÷¶È£¬Ö»ÄÜ×î´óÏ޶ȵÄÓ°ÏìÏß³ÌÖ´ÐеĴÎÐò£¬¶ø²»ÄÜ×öµ½¾«×¼¿ØÖÆ¡£
Ïß³ÌÐÝÃßµÄÄ¿µÄÊÇʹÏß³ÌÈóöCPUµÄ×î¼òµ¥µÄ×ö·¨Ö®Ò»£¬Ïß³ÌÐÝÃßʱºò£¬»á½«CPU×ÊÔ´½»¸øÆäËûỊ̈߳¬ÒÔ±ã ......
Static Factory Methods
Four Advantages:
1) have names
2) not required to create a new object each time they are invoked
3) return an object of any subtype of their return type
4) reduce the verbosity of creating parameterized type instances.(for example: newInstance() method) ......
UCä¯ÀÀÆ÷ÊÇUC ÓÅÊӿƼ¼¿ª·¢µÄÒ»¿îÊÖ»úä¯ÀÀÆ÷£¬Ö§³ÖWEB¡¢WAPÒ³Ãæä¯ÀÀ£¬ËÙ¶È¿ì¶øÎȶ¨£¬Ò³ÃæÅŰæÃÀ¹Û£»¾ßÓÐÍøÕ¾µ¼º½¡¢ËÑË÷¡¢ÏÂÔØ¡¢¸öÈËÊý¾Ý¹ÜÀíµÈ¹¦ÄÜ£¬ÄúÄÜËæÊ±ËæµØÍ¨¹ýUCä¯ÀÀÆ÷½øÐÐÎÞÏß³åÀË£¬½«»¥ÁªÍø×°½ø¿Ú´ü£¬ÏíÊܸßÖÊÒÆ¶¯Éú»î£¡
½ñÌ죬UCä¯ÀÀÆ÷7.0 Õýʽ°æÖÕÓںʹó¼Ò¼ûÃæÁË£¬Ð°æ ......
package innerClass.test;
public class InheritTest
{
public static void main(String[] args)
{
Person p = new Person("LMS");
p.show();
  ......