JavaÖÐnewºÍnewInstanceµÄÇø±ð
ÔÚJavaÖУ¬Ê¹ÓÃnew¹Ø¼ü×ÖºÍClass.forName("a.class.Name").newInstance¶¼¿ÉÒÔ´´½¨¶ÔÏó£¬ËüÃÇÓÖÓÐÊ²Ã´Çø±ðÄØ£¿
1¡¢ÀàµÄ¼ÓÔØ·½Ê½²»Í¬¡£
ÔÚÖ´ÐÐClass.forName("a.class.Name")ʱ£¬JVM»áÔÚclassapthÖÐÈ¥ÕÒ¶ÔÓ¦µÄÀಢ¼ÓÔØ£¬ÕâʱJVM»áÖ´ÐиÃÀàµÄ¾²Ì¬´úÂë¶Î¡£ÔÚʹÓÃnewInstance()·½·¨µÄʱºò£¬±ØÐë±£Ö¤Õâ¸öÀàÒѾ¼ÓÔØ²¢ÇÒÒѾÁ¬½ÓÁË£¬¶øÕâ¿ÉÒÔͨ¹ýClassµÄ¾²Ì¬·½·¨forName()À´Íê³ÉµÄ¡£
ʹÓùؼü×Önew´´½¨Ò»¸öÀàµÄʱºò£¬Õâ¸öÀà¿ÉÒÔûÓб»¼ÓÔØ£¬Ò»°ãÒ²²»ÐèÒª¸ÃÀàÔÚclasspathÖÐÉ趨£¬µ«¿ÉÄÜÐèҪͨ¹ýclasslaoderÀ´¼ÓÔØ¡£
2¡¢Ëùµ÷ÓõĹ¹Ôì·½·¨²»¾¡Ïàͬ¡£
new¹Ø¼ü×ÖÄܵ÷ÓÃÈκι¹Ôì·½·¨¡£
newInstance()Ö»Äܵ÷ÓÃÎ޲ι¹Ôì·½·¨¡£
3¡¢Ö´ÐÐЧÂʲ»Í¬¡£
new¹Ø¼ü×ÖÊÇÇ¿ÀàÐ͵ģ¬Ð§ÂÊÏà¶Ô½Ï¸ß¡£
newInstance()ÊÇÈõÀàÐ͵ģ¬Ð§ÂÊÏà¶Ô½ÏµÍ¡£
¼ÈȻʹÓÃnewInstance()¹¹Ôì¶ÔÏóµÄµØ·½Í¨¹ýnew¹Ø¼ü×ÖÒ²¿ÉÒÔ´´½¨¶ÔÏó£¬ÎªÊ²Ã´ÓÖ»áʹÓÃnewInstance()À´´´½¨¶ÔÏóÄØ£¿
¼ÙÉ趨ÒåÁËÒ»¸ö½Ó¿ÚDoor£¬¿ªÊ¼µÄʱºòÊÇÓÃľÃŵ쬶¨ÒåΪһ¸öÀàWoodenDoor£¬ÔÚ³ÌÐòÀï¾ÍÒªÕâÑùд Door door = new WoodenDoor() ¡£¼ÙÉèºóÀ´Éú»îÌõ¼þÌá¸ß£¬»»Îª×Ô¶¯ÃÅÁË£¬¶¨ÒåÒ»¸öÀàAutoDoor£¬Õâʱ³ÌÐò¾ÍÒª¸ÄдΪ Door door = new AutoDoor() ¡£ËäȻֻÊǸĸö±êʶ·û£¬Èç¹ûÕâÑùµÄÓï¾äÌØ±ð¶à£¬¸Ä¶¯»¹ÊÇͦ´óµÄ¡£ÓÚÊdzöÏÖÁ˹¤³§Ä£Ê½£¬ËùÓÐDoorµÄʵÀý¶¼ÓÉDoorFactoryÌṩ£¬Õâʱ»»Ò»ÖÖÃŵÄʱºò£¬Ö»ÐèÒª°Ñ¹¤³§µÄÉú²úģʽ¸Äһϣ¬»¹ÊÇÒª¸ÄÒ»µã´úÂë¡£
¶øÈç¹ûʹÓÃnewInstance()£¬Ôò¿ÉÒÔÔÚ²»¸Ä±ä´úÂëµÄÇé¿öÏ£¬»»ÎªÁíÍâÒ»ÖÖDoor¡£¾ßÌå·½·¨ÊǰÑDoorµÄ¾ßÌåʵÏÖÀàµÄÀàÃû·Åµ½ÅäÖÃÎļþÖУ¬Í¨¹ýnewInstance()Éú³ÉʵÀý¡£ÕâÑù£¬¸Ä±äÁíÍâÒ»ÖÖDoorµÄʱºò£¬Ö»¸ÄÅäÖÃÎļþ¾Í¿ÉÒÔÁË¡£Ê¾Àý´úÂëÈçÏ£º
String className = ´ÓÅäÖÃÎļþ¶ÁÈ¡DoorµÄ¾ßÌåʵÏÖÀàµÄÀàÃû;
Door door = (Door) Class.forName(className).newInstance();
ÔÙÅäºÏÒÀÀµ×¢ÈëµÄ·½·¨£¬¾ÍÌá¸ßÁËÈí¼þµÄ¿ÉÉìËõÐÔ¡¢¿ÉÀ©Õ¹ÐÔ¡£
Ïà¹ØÎĵµ£º
ת×ÔInfoQ£¬×÷Õß Charles Humble ÒëÕß ÕÅÁú
±¾ÔÂ3ÈÕSunµÄJ2SE 5.0ʵÏÖÒÑÖÕ½á·þÎñÖÜÆÚ£¨End of Service Life£¬¼´EOSL£©£¬ÕâÒ»ÌìÒ²ÊÇ×îºóµÄÒ»´Î5.0¸üз¢²¼ÈÕÆÚ£¨J2SE 5.0 Update 22£©¡£Ñ°ÇóSunÖ§³ÖµÄÓû§¿ÉÒÔÑ¡ÔñÉý¼¶µ½Java 6»òÊǶ©ÔÄSunµÄJava for Business³ÌÐò¡£
SunÌṩÁ˶àÖÖ¶àÑùµÄJava¸¶·ÑÖ§³Ö¡£Java¾µäÖ§³Ö£ ......
WindowsMobileϵͳÎÞ·¨Ö±½Ó¹ÜÀíJAVA²å¼þ£¬ÐèÒª½èÖúJAVAÐéÄâ»úÀ´¹ÜÀíJAVA²å¼þ£¬WMƽ̨³£¼ûµÄJAVAÐéÄâ»úÓÐJbedºÍJblend¡£ÏÂÃæ¾ÍWMƽ̨¹ÜÀíJAVA²å¼þ×ö¼òÒª½éÉÜ¡£
1¡¢Jbed
Esmertec¹«Ë¾µÄ²úÆ·£¬ÍⲿÃüÁî¹ÜÀí·½Ê½Îª£º
°²×°£º\Windows\jbed.exe -DFile.maxStorageSize=64M -ginstall \" ......
¡¡JSON ¼´ Java
Script Object Natation£¬ËüÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»
¸ñʽ£¬·Ç³£ÊʺÏÓÚ·þÎñÆ÷
Óë Java
Script µÄ½»»¥¡£±¾ÎĽ«¿ìËÙ½²½â JSON ¸ñʽ£¬²¢Í¨¹ý´úÂëʾÀýÑÝʾÈçºÎ·Ö±ðÔÚ¿Í»§¶ËºÍ·þÎñÆ÷
¶Ë½øÐÐ JSON ¸ñʽÊý¾ÝµÄ´¦Àí¡£
¡¡¡¡Json±ØÐèµÄ°ü
¡¡¡¡commons-httpclient-3.1.jar
¡¡¡¡commons-lang-2.4.jar
¡¡¡¡ ......
public class TreeNodes{
IList<BranchInfo> branchs = BranchInfoManager.getAllBranchInfos();
foreach(BranchInfo branch in branchs){
TreeNode branchNode = new TreeNodeCreate(branch.BranchName,branch.BranchId.toString(),"","~/Images/menuclose.gif");
  ......
Groovy supports a few neat ways to work with SQL more easily and to make SQL more Groovy. You can perform queries and SQL statements, passing in variables easily with proper handling of statements, connections and exception handling thanks to closures.
import groovy.sql.Sql
def foo = 'cheese ......