ÁÉ­}ºô > IT§Þ³N Java > §Þ³N°ÊºA
  IT¸ê°T·j¯Á
 
IT²£«~·j¯Á
[µ{¦¡¶}µo][ºôºÞ¥@¬É][ºô¸ô¦w¥þ][¼Æ¾Ú®w§Þ³N]
[§@·~¨t²Î][¹Å»«²á¤Ñ¡P½u¤W³X½Í][¬¡°Ê¶°ÀA]
[ºë±m±MÃD][Symantec±M°Ï][­q¾\IT§Þ³N¶g¥Z]
[¶}µo½×¾Â][ºôºÞ½×¾Â][¦w¥þ½×¾Â][¼Æ¾Ú®w½×¾Â]
[§@·~¨t²Î½×¾Â][Sybase±M°Ï][IBM dW§Þ³N±M°Ï]
[¯f¬r¨D§U][¯f¬r»Pº|¬}¼½³ø][¤åÀÉ¡P·½½X¤U¸ü]

JAVA°ò¦¡Ð¡ÐJAVA¤¤ªº¤Ï®g¾÷¨î¸Ô¸Ñ

µo§G®É¶¡¡G2007.09.25 04:42     ¨Ó·½¡GÁÉ­}ºô§Þ³NªÀ°Ï    §@ªÌ¡Gbaocl

JAVA¤Ï®g¾÷¨î
    JAVA¤Ï®g¾÷¨î¬O¦b¹B¦æª¬ºA¤¤¡A¹ï©ó¥ô·N¤@­ÓÃþ¡A³£¯à°÷ª¾¹D³o­ÓÃþªº©Ò¦³ÄݩʩM¤èªk¡F¹ï©ó¥ô·N¤@­Ó¹ï¶H¡A³£¯à°÷½Õ¥Î¥¦ªº¥ô·N¤@­Ó¤èªk¡F³oºØ°ÊºAÀò¨úªº¸ê°T¥H¤Î°ÊºA½Õ¥Î¹ï¶Hªº¤èªkªº¥\¯àºÙ¬°java»y¨¥ªº¤Ï®g¾÷¨î¡C
Java¤Ï®g¾÷¨î¥D­n´£¨Ñ¤F¥H¤U¥\¯à¡G ¦b¹B¦æ®É§PÂ_¥ô·N¤@­Ó¹ï¶H©ÒÄݪºÃþ¡F¦b¹B¦æ®Éºc³y¥ô·N¤@­ÓÃþªº¹ï¶H¡F¦b¹B¦æ®É§PÂ_¥ô·N¤@­ÓÃþ©Ò¨ã¦³ªº¦¨­ûÅܼƩM¤èªk¡F¦b¹B¦æ®É½Õ¥Î¥ô·N¤@­Ó¹ï¶Hªº¤èªk¡F¥Í¦¨°ÊºA¥N²z¡C
1. ±o¨ì¬Y­Ó¹ï¶HªºÄÝ©Ê

1 public Object getProperty(Object owner, String fieldName) throws Exception {
2     Class ownerClass = owner.getClass();

4     Field field = ownerClass.getField(fieldName);

6     Object property = field.get(owner);

8     return property;
9 }
Class ownerClass = owner.getClass()¡G±o¨ì¸Ó¹ï¶HªºClass¡C

Field field = ownerClass.getField(fieldName)¡G³q¹LClass±o¨ìÃþÁn©úªºÄݩʡC

Object property = field.get(owner)¡G³q¹L¹ï¶H±o¨ì¸ÓÄݩʪº¹ê¨Ò¡A¦pªG³o­ÓÄݩʬO«D¤½¦³ªº¡A³o¸Ì·|³øIllegalAccessException¡C

2. ±o¨ì¬Y­ÓÃþªºÀRºAÄÝ©Ê

 1 public Object getStaticProperty(String className, String fieldName)
 2             throws Exception {
 3     Class ownerClass = Class.forName(className);
 4 
 5     Field field = ownerClass.getField(fieldName);
 6 
 7     Object property = field.get(ownerClass);
 8 
 9     return property;
10 }

Class ownerClass = Class.forName(className) ¡G­º¥ý±o¨ì³o­ÓÃþªºClass¡C

Field field = ownerClass.getField(fieldName)¡G©M¤W­±¤@¼Ë¡A³q¹LClass±o¨ìÃþÁn©úªºÄݩʡC

Object property = field.get(ownerClass) ¡G³o¸Ì©M¤W­±¦³¨Ç¤£¦P¡A¦]¬°¸ÓÄݩʬOÀRºAªº¡A©Ò¥Hª½±µ±qÃþªºClassùبú¡C

3. °õ¦æ¬Y¹ï¶Hªº¤èªk

 1 public Object invokeMethod(Object owner, String methodName, Object[] args) throws Exception {
 2 
 3     Class ownerClass = owner.getClass();
 4 
 5     Class[] argsClass = new Class[args.length];
 6 
 7     for (int i = 0, j = args.length; i < j; i++) {
 8         argsClass[i] = args[i].getClass();
 9     }
10 
11     Method method = ownerClass.getMethod(methodName, argsClass);
12 
13     return method.invoke(owner, args);
14 }
Class owner_class = owner.getClass() ¡G­º¥ýÁÙ¬O¥²¶·±o¨ì³o­Ó¹ï¶HªºClass¡C

5¡ã9¦æ¡G°t¸m°Ñ¼ÆªºClass¼Æ²Õ¡A§@¬°´M§äMethodªº±ø¥ó¡C

Method method = ownerClass.getMethod(methodName, argsClass)¡G³q¹LMethod¦W©M°Ñ¼ÆªºClass¼Æ²Õ±o¨ì­n°õ¦æªºMethod¡C

method.invoke(owner, args)¡G°õ¦æ¸ÓMethod¡Ainvoke¤èªkªº°Ñ¼Æ¬O°õ¦æ³o­Ó¤èªkªº¹ï¶H¡A©M°Ñ¼Æ¼Æ²Õ¡Cªð¦^­È¬OObject¡A¤]¬J¬O¸Ó¤èªkªºªð¦^­È¡C

4. °õ¦æ¬Y­ÓÃþªºÀRºA¤èªk

 1 public Object invokeStaticMethod(String className, String methodName,
 2             Object[] args) throws Exception {
 3     Class ownerClass = Class.forName(className);
 4 
 5     Class[] argsClass = new Class[args.length];
 6 
 7     for (int i = 0, j = args.length; i < j; i++) {
 8         argsClass[i] = args[i].getClass();
 9     }
10 
11     Method method = ownerClass.getMethod(methodName, argsClass);
12 
13     return method.invoke(null, args);
14 }

°ò¥»ªº­ì²z©M¹ê¨Ò3¬Û¦P¡A¤£¦PÂI¬O³Ì«á¤@¦æ¡Ainvokeªº¤@­Ó°Ñ¼Æ¬Onull¡A¦]¬°³o¬OÀRºA¤èªk¡A¤£»Ý­n­É§U¹ê¨Ò¹B¦æ¡C

5. ·s«Ø¹ê¨Ò
 1 
 2 public Object newInstance(String className, Object[] args) throws Exception {
 3     Class newoneClass = Class.forName(className);
 4 
 5     Class[] argsClass = new Class[args.length];
 6 
 7     for (int i = 0, j = args.length; i < j; i++) {
 8         argsClass[i] = args[i].getClass();
 9     }
10 
11     Constructor cons = newoneClass.getConstructor(argsClass);
12 
13     return cons.newInstance(args);
14 
15 }

³o¸Ì»¡ªº¤èªk¬O°õ¦æ±a°Ñ¼Æªººc³y¨ç¼Æ¨Ó·s«Ø¹ê¨Òªº¤èªk¡C¦pªG¤£»Ý­n°Ñ¼Æ¡A¥i¥Hª½±µ¨Ï¥ÎnewoneClass.newInstance()¨Ó¹ê²{¡C

Class newoneClass = Class.forName(className)¡G²Ä¤@¨B¡A±o¨ì­nºc³yªº¹ê¨ÒªºClass¡C

²Ä5¡ã²Ä9¦æ¡G±o¨ì°Ñ¼ÆªºClass¼Æ²Õ¡C

Constructor cons = newoneClass.getConstructor(argsClass)¡G±o¨ìºc³y¤l¡C

cons.newInstance(args)¡G·s«Ø¹ê¨Ò¡C

6. §PÂ_¬O§_¬°¬Y­ÓÃþªº¹ê¨Ò

1 public boolean isInstance(Object obj, Class cls) {
2     return cls.isInstance(obj);
3 }

7. ±o¨ì¼Æ²Õ¤¤ªº¬Y­Ó¤¸¯À
1 public Object getByArray(Object array, int index) {
2     return Array.get(array,index);
3 }


[ µoªíµû½× ] ¦rÅé[ ¤j¡B¤¤¡B¤p ] [ ¦C¦L ] [ ¶i¤J³Õ«È ] [ ¶i¤J½×¾Â ]  [ ±ÀÂ˵¹ªB¤Í ]
  ¡i¬ÛÃö¤å³¹¡j
¡P Tomcat5ªº¼Æ¾Ú®w³s±µ¦À°t¸m¤èªk (09-24) ¡P ³nÅé¤H¤~±q¹ê½î¤¤¨Ó¡A±q³nÅ餤¨Ó (09-24)
¡P ©ú¥ÕJavaªº¦h½uµ{-½uµ{¶¡ªº³q«H (09-21) ¡P µN°s½×­^¶¯¡Aº©½ÍJava¼Æ¾Ú®w¦s¨ú§Þ³N (09-21)
¡P ³q¹LJDBC³s±µoracle¼Æ¾Ú®wªº¤Q¤j§Þ¥© (09-21) ¡P Java 7.0 ¤¤­È±o´Á«Ýªº·s¥\¯à¹wÄý (09-21)
¡P ¥ÎJava½sµ{Àò±o¥»¾÷©M¦øªA¾¹IP¦a§} (09-20) ¡P ¶}·½§Þ³N°ò¦¡G±Ð§A¦p¦ó¼ô½m¨Ï¥ÎTOMCAT (09-20)
¡P °Q½×¬°¤°»ò­±¦V¹ï¶Hªº¼Æ¾Ú®w¤£´¶¤Î©O? (09-20) ¡P Java³nÅé¶}µo«e´Á³W¹ºªº­«­n©Ê (09-19)
  ¡i«È¤á»Ý¨D¤ÏõXªí¡j
* ©m¡@¡@¦W:
§ó¦h¸ê®Æ¡@ ¤F¸Ñ¤è®×¡@ »{ÃѼt°Ó
* ³æ¦ì¦WºÙ:
* Ápô¹q¸Ü:
* ¹q¤l¶l¥ó:
  ÁÉ­}±ÀÂË  
  ¤â¾÷¡P¸ê¶O ¡P·s«~¡P¾ÉÁÊ¡Pµû´ú¡P¤â¾÷¸ê¶O¡P¼e±a
¤â¾÷·j¯Á  ¿Õ°ò¨È N73 MOTO Z6
  IT²£«~ ¡Pµ§°O¥»¡P»O¦¡¾÷¡P¦øªA¾¹¡P¦C¦L¡P§ë¼v
IT²£«~·j¯Á 
  IT§Þ³N ¡P¶}µo¡PºôºÞ¡P¦w¥þ¡P¼Æ¾Ú®w¡P§@·~¨t²Î
  ¸ê°T¤Æ ¡P¼öÂI¡P±MÃD¡P³X½Í¡P¶g¥Z¡P¤è®×®×¨Ò
¡P §Ú°ê³nÅ馿·~¥¼¨Ó3-5¦~§ë¸ê¼Wªø±N¶W30%
¡P ®×¨Ò¤ÀªR eHR¦Û¦æ¶}µoÁÙ¬O¿ï¾Ü¦¨¼ô²£«~
¡P ñ¦X¦P«eªº¥|°Ý ½Í¤K¤j¼t°Ó¡§¶³­pºâ¡¨²z©À
¡P ¨È²¤¯S·Ï¯ó¸Ñ¨M¤è®× ²¾¥Á¦w¸m¸ê°TºÞ²z¨t²Î
  IT³Õ«È ¡P´¿¼C¬î¡P¶µ¥ß­è¡PJava¾Ç²ß¡PºôºÞ
  IT§Þ³N½×¾Â ¡P¶}µo¡PºôºÞ¡P¦w¥þ¡P¼Æ¾Ú®w¡P¨t²Î