´«ÖDz¥¿Í2009 12 24 ¶þ¡¢java»ù´¡¼ÓÇ¿(2)
Ò»¡¢·´É䣨Reflect£©
·´Éä¾ÍÊǰÑJavaÀàÖеĸ÷ÖֳɷÖÓ³Éä³ÉÒ»¸ö¸öµÄjava¶ÔÏó¡£ÀýÈ磬һ¸öÀàÓУº³ÉÔ±±äÁ¿£¬·½·¨£¬¹¹Ôì·½·¨£¬°üµÈµÈÐÅÏ¢£¬ÀûÓ÷´Éä¼¼Êõ¿ÉÒÔ¶ÔÒ»¸öÀà½øÐнâÆÊ£¬°Ñ¸÷¸ö×é³É²¿·ÖÓ³Éä³ÉÒ»¸ö¸ö¶ÔÏó¡£Ó³Éä³É¶ÔÏóºó£¬¾Í¿ÉÒÔµ÷ÓöÔÏóµÄ·½·¨¶ÔÆä²Ù×÷ÁË¡£Óë·´ÉäÏà¹ØµÄÖØÒªµÄÀàÓÐClass¡¢Constructor¡¢Method¡¢FieldµÈ¡£
Class ÀàµÄʵÀý±íʾÕýÔÚÔËÐÐµÄ Java Ó¦ÓóÌÐòÖеÄÀàºÍ½Ó¿Ú¡£Ã¶¾ÙÊÇÒ»ÖÖÀ࣬עÊÍÊÇÒ»ÖÖ½Ó¿Ú¡£Ã¿¸öÊý×éÊôÓÚ±»Ó³ÉäΪ Class ¶ÔÏóµÄÒ»¸öÀ࣬ËùÓоßÓÐÏàÍ¬ÔªËØÀàÐͺÍάÊýµÄÊý×é¶¼¹²Ïí¸Ã Class ¶ÔÏó¡£»ù±¾µÄ Java ÀàÐÍ£¨boolean¡¢byte¡¢char¡¢short¡¢int¡¢long¡¢float ºÍ double£©ºÍ¹Ø¼ü×Ö void Ò²±íʾΪ Class ¶ÔÏó¡£
Class ûÓй«¹²¹¹Ôì·½·¨¡£Class ¶ÔÏóÊÇÔÚ¼ÓÔØÀàʱÓÉ Java ÐéÄâ»úÒÔ¼°Í¨¹ýµ÷ÓÃÀà¼ÓÔØÆ÷ÖÐµÄ defineClass ·½·¨×Ô¶¯¹¹ÔìµÄ¡£
ض¨Ò壺
public final class Class<T>extends Objectimplements Serializable
, GenericDeclaration, Type, AnnotatedElement
ØÖØÒª·½·¨ÕªÒª
·µ»ØÖµ
·½·¨µÄÇ©Ãû
static Class<?>
forName(String className)
·µ»ØÓë´øÓиø¶¨×Ö·û´®ÃûµÄÀà»ò½Ó¿ÚÏà¹ØÁªµÄ Class ¶ÔÏó¡£
Annotation[]
getAnnotations() ·µ»Ø´ËÔªËØÉÏ´æÔÚµÄËùÓÐ×¢ÊÍ¡£
ClassLoader
getClassLoader() ·µ»Ø¸ÃÀàµÄÀà¼ÓÔØÆ÷¡£
Constructor<T>
getConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏó£¬Ëü·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÖ¸¶¨¹«¹²¹¹Ôì·½·¨¡£
Constructor<T>
getDeclaredConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨¹¹Ôì·½·¨¡£
Field[]
getDeclaredFields()
·µ»Ø Field ¶ÔÏóµÄÒ»¸öÊý×飬ÕâЩ¶ÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚËùÉùÃ÷µÄËùÓÐ×ֶΣ¬°üÀ¨¹«¹²¡¢±£»¤¡¢Ä¬ÈÏ£¨°ü£©·ÃÎʺÍ˽ÓÐ×ֶΣ¬µ«²»°üÀ¨¼Ì³ÐµÄ×ֶΡ£
Method
getDeclaredMethod(String name, Class... parameterTypes)
·µ»ØÒ»¸ö Method ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨ÒÑÉùÃ÷·½·¨¡£
T
newInstance() ´´½¨´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÒ»¸öÐÂʵÀý¡£
String
getName()
ÒÔ Strin
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
Ò»¡¢×¼±¸¹¤×÷
ÏÈÁ˽âһϸÅÄJACOB ¾ÍÊÇ JAVA-COM BridgeµÄËõд£¬Ìṩ×Ô¶¯»¯µÄ·ÃÎÊcomµÄ¹¦ÄÜ£¬Ò²ÊÇͨ¹ýJNI¹¦ÄÜ·ÃÎÊwindowsƽ̨ϵÄcom×é¼þ»òÕßwin32ϵͳ¿âµÄ¡£ÕâÊÇÒ»¸ö¿ªÊ¼ÓÚ 1999ÄêµÄ¿ªÔ´ÏîÄ¿µÄ³É¹û£¬ÓкܶàʹÓÃÕß¶Ô¸ÃÏîÄ¿½øÐÐÁËÐ޸ģ¬×ö³öÁË×Ô¼ºµÄ¹±Ïס£
JacobÏÂÔØµØÖ·£ºhttp://sourceforge.net/project/showfiles.ph ......
½Ó¿Ú±¾ÖÊÉϾÍÊÇÓÉÖÆ¶¨ÕßÀ´Ðµ÷ʵÏÖÕߺ͵÷ÓÃÕßÖ®¼äµÄ¹ØÏµ¡£
ËùÒÔͨ³£ËµµÄ“ÃæÏò½Ó¿Ú±à³Ì”¿ÉÒÔÀí½âΪ£º
Ö»ÓÐʵÏÖÕߺ͵÷ÓÃÕß¶¼×ñÑ“ÃæÏò½Ó¿Ú±à³Ì”Õâ¸ö×¼Ôò£¬Öƶ¨ÕßµÄе÷Ä¿µÄ²ÅÄÜ´ïµ½¡£
Ò»¸öÀÏÉú³£Ì¸µÄÀý×Ó¾ÍÊÇJDBC¡£
ºÜ¶àÈ˷ѽ⣺¼ÈÈ»ÎÒÿÁ¬½ÓÒ»ÖÖÊý¾Ý¿â£¨Èçmysql£©¶¼ÒªÊÂÏȲ¿ÊðÇý¶¯³ÌÐò£¬ÄÇÎÒÖ±½ ......
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String arg[]) {
String fileName = "E:\\share\\test.txt";
File file = new File(fileName);
......
javabean+Êý×éÓŵ㣺
1¡¢¼òµ¥£ºjava³ÌÐòÖÐ×î¼òµ¥µÄÀàιýÓÚjavabean£¬javabeanÓÐÒ»Ì׳ÉÊìµÄ¹æ·¶£¬Ò×ÓÚ±àд
2¡¢·½±ã£ºjavabeanÊÇÊý¾ÝµÄÔØÌ壬¼È¿ÉÒÔͨ¹ýsetºÍget·½Ê½À´²Ù×÷Êý¾Ý£¬ÓÖ¿ÉÒÔÏóʹÓÃÊý×éÒ»ÑùÀ´²Ù×÷javabean
3¡¢Í¨ÓãºÍ¨¹ýϱêÀ´²Ù×÷javabean£¬ÄãËùдµÄ´úÂ뽫ÊÇͨÓõģ¬¿ÉÒÆÖ²µÄ¡£ÄãËùдµÄ¹¦ÄÜ×é¼þ½«ÊÊÓÃÓÚËùÓÐµÄ ......