Java newInstance()·½·¨ºÍnew¹Ø¼ü×ÖÇø±ð
ÔÚ³õʼ»¯Ò»¸öÀ࣬Éú³ÉÒ»¸öʵÀýµÄʱºò£¬newInstance()·½·¨ºÍnew¹Ø¼ü×Ö³ýÁËÒ»¸öÊÇ·½·¨£¬Ò»¸öÊǹؼü×ÖÍ⣬×îÖ÷ÒªÓÐÊ²Ã´Çø±ð£¿ËüÃǵÄÇø±ðÔÚÓÚ´´½¨¶ÔÏóµÄ·½Ê½²»Ò»Ñù£¬Ç°ÕßÊÇʹÓÃÀà¼ÓÔØ»úÖÆ£¬ºóÕßÊÇ´´½¨Ò»¸öÐÂÀà¡£ÄÇôΪʲô»áÓÐÁ½ÖÖ´´½¨¶ÔÏó·½Ê½£¿ÕâÖ÷Òª¿¼Âǵ½Èí¼þµÄ¿ÉÉìËõ¡¢¿ÉÀ©Õ¹ºÍ¿ÉÖØÓõÈÈí¼þÉè¼ÆË¼Ïë¡£
JavaÖй¤³§Ä£Ê½¾³£Ê¹ÓÃnewInstance()·½·¨À´´´½¨¶ÔÏó£¬Òò´Ë´ÓΪʲôҪʹÓù¤³§Ä£Ê½ÉÏ¿ÉÒÔÕÒµ½¾ßÌå´ð°¸¡£ ÀýÈ磺
class c = Class.forName(“Example”);
factory = (ExampleInterface)c.newInstance();
ÆäÖÐExampleInterfaceÊÇExampleµÄ½Ó¿Ú£¬¿ÉÒÔд³ÉÈçÏÂÐÎʽ£º
String className = "Example";
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
½øÒ»²½¿ÉÒÔд³ÉÈçÏÂÐÎʽ£º
String className = readfromXMlConfig;//´Óxml ÅäÖÃÎļþÖлñµÃ×Ö·û´®
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
ÉÏÃæ´úÂëÒѾ²»´æÔÚExampleµÄÀàÃû³Æ£¬ËüµÄÓŵãÊÇ£¬ÎÞÂÛExampleÀàÔõô±ä»¯£¬ÉÏÊö´úÂë²»±ä£¬ÉõÖÁ¿ÉÒÔ¸ü»»ExampleµÄÐÖµÜÀàExample2 , Example3 , Example4……£¬Ö»ÒªËûÃǼ̳ÐExampleInterface¾Í¿ÉÒÔ¡£
´ÓJVMµÄ½Ç¶È¿´£¬ÎÒÃÇʹÓùؼü×Önew´´½¨Ò»¸öÀàµÄʱºò£¬Õâ¸öÀà¿ÉÒÔûÓб»¼ÓÔØ¡£µ«ÊÇʹÓÃnewInstance()·½·¨µÄʱºò£¬¾Í±ØÐë±£Ö¤£º1¡¢Õâ¸öÀàÒѾ¼ÓÔØ£»2¡¢Õâ¸öÀàÒѾÁ¬½ÓÁË¡£¶øÍê³ÉÉÏÃæÁ½¸ö²½ÖèµÄÕýÊÇClassµÄ¾²Ì¬·½·¨forName()ËùÍê³ÉµÄ£¬Õâ¸ö¾²Ì¬·½·¨µ÷ÓÃÁËÆô¶¯Àà¼ÓÔØÆ÷£¬¼´¼ÓÔØjava APIµÄÄǸö¼ÓÔØÆ÷¡£
ÏÖÔÚ¿ÉÒÔ¿´³ö£¬newInstance()ʵ¼ÊÉÏÊǰÑnewÕâ¸ö·½Ê½·Ö½âΪÁ½²½£¬¼´Ê×Ïȵ÷ÓÃClass¼ÓÔØ·½·¨¼ÓÔØÄ³¸öÀ࣬ȻºóʵÀý»¯¡£ ÕâÑù·Ö²½µÄºÃ´¦ÊÇÏÔ¶øÒ×¼ûµÄ¡£ÎÒÃÇ¿ÉÒÔÔÚµ÷ÓÃclassµÄ¾²Ì¬¼ÓÔØ·½·¨forNameʱ»ñµÃ¸üºÃµÄÁé»îÐÔ£¬Ìṩ¸øÁËÒ»ÖÖ½µñîµÄÊֶΡ£
×îºóÓÃ×î¼òµ¥µÄÃèÊöÀ´Çø·Önew¹Ø¼ü×ÖºÍnewInstance()·½·¨µÄÇø±ð£º
newInstance: ÈõÀàÐÍ¡£µÍЧÂÊ¡£Ö»Äܵ÷ÓÃÎ޲ι¹Ôì¡£
new: Ç¿ÀàÐÍ¡£Ïà¶Ô¸ßЧ¡£Äܵ÷ÓÃÈκÎpublic¹
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
StringBufferÒ²ÊÇ×Ö·û´®£¬ÓëString²»Í¬µÄÊÇStringBuffer¶ÔÏó´´½¨ÍêÖ®ºó¿ÉÒÔÐÞ¸ÄÄÚÈÝ¡£ÓÐÈçϹ¹Ô캯Êý£º
n public StringBuffer(int);
n public StringBuffer(String);
n ......
±¾´Î½éÉܵÄStringµÄ·½·¨°üÀ¨£º±È½ÏÄÚÈÝ¡¢´óСдת»»¡¢Ç°×ººÍºó׺£¬²¢¸ø³öÁËÒ»¸öÀý×Ó¡£
±È½Ï×Ö·û´®ÄÚÈÝ
Á½ÖÖÐÎʽ¡£ÐÎʽһÈçÏ£º
·½·¨¶¨Ò壺public boolean equals(Object o)
·½·¨ÃèÊö£º±È½ÏÊÇ·ñÓë²ÎÊýÏàͬ£¬Çø·Ö´óСд¡£
ÀýÈ磺
str.equals(“this”)
½á¹û£º
False
ÐÎʽ¶þÈçÏ£º
·½·¨¶¨Ò壺public boole ......