Java Reflection JAVA·´Éä
Reflection ÊÇ Java ³ÌÐò¿ª·¢ÓïÑÔµÄÌØÕ÷Ö®Ò»£¬ËüÔÊÐíÔËÐÐÖÐµÄ Java ³ÌÐò¶Ô×ÔÉí½øÐмì²é£¬»òÕß˵“×ÔÉ󔣬²¢ÄÜÖ±½Ó²Ù×÷³ÌÐòµÄÄÚ²¿ÊôÐÔ¡£ÀýÈ磬ʹÓÃËüÄÜ»ñµÃ Java ÀàÖи÷³ÉÔ±µÄÃû³Æ²¢ÏÔʾ³öÀ´¡£
Java µÄÕâÒ»ÄÜÁ¦ÔÚʵ¼ÊÓ¦ÓÃÖÐÒ²ÐíÓõò»ÊǺܶ࣬µ«ÊÇÔÚÆäËüµÄ³ÌÐòÉè¼ÆÓïÑÔÖиù±¾¾Í²»´æÔÚÕâÒ»ÌØÐÔ¡£ÀýÈ磬Pascal¡¢C »òÕß C++ ÖоÍûÓа취ÔÚ³ÌÐòÖлñµÃº¯Êý¶¨ÒåÏà¹ØµÄÐÅÏ¢¡£
JavaBean ÊÇ reflection µÄʵ¼ÊÓ¦ÓÃÖ®Ò»£¬ËüÄÜÈÃһЩ¹¤¾ß¿ÉÊÓ»¯µÄ²Ù×÷Èí¼þ×é¼þ¡£ÕâЩ¹¤¾ßͨ¹ý reflection ¶¯Ì¬µÄÔØÈ벢ȡµÃ Java ×é¼þ(Àà) µÄÊôÐÔ¡£
1. Ò»¸ö¼òµ¥µÄÀý×Ó
¿¼ÂÇÏÂÃæÕâ¸ö¼òµ¥µÄÀý×Ó£¬ÈÃÎÒÃÇ¿´¿´ reflection ÊÇÈçºÎ¹¤×÷µÄ¡£
import java.lang.reflect.*;
public class DumpMethods {
public static void main(String args[]) {
try {
Class c = Class.forName(args[0]);
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}
°´ÈçÏÂÓï¾äÖ´ÐУº
java DumpMethods java.util.Stack
ËüµÄ½á¹ûÊä³öΪ£º
public java.lang.Object java.util.Stack.push(java.lang.Object)
public synchronized java.lang.Object java.util.Stack.pop()
public synchronized java.lang.Object java.util.Stack.peek()
public boolean java.util.Stack.empty()
public synchronized int java.util.Stack.search(java.lang.Object)
ÕâÑù¾ÍÁгöÁËjava.util.Stack ÀàµÄ¸÷·½·¨ÃûÒÔ¼°ËüÃǵÄÏÞÖÆ·ûºÍ·µ»ØÀàÐÍ¡£
Õâ¸ö³ÌÐòʹÓà Class.forName ÔØÈëÖ¸¶¨µÄÀ࣬Ȼºóµ÷Óà getDeclaredMethods À´»ñÈ¡Õâ¸öÀàÖж¨ÒåÁ˵ķ½·¨ÁÐ±í¡£java.lang.reflect.Methods ÊÇÓÃÀ´ÃèÊöij¸öÀàÖе¥¸ö·½·¨µÄÒ»¸öÀà¡£
2.¿ªÊ¼Ê¹Óà Reflection
Ó
Ïà¹ØÎĵµ£º
Ê×ÏÈ£¬ÉèÖÃmysqlµÄ»·¾³±äÁ¿£¨ÔÚpathÖÐÌí¼Ó%MYSQL_HOME%\bin£©£¬ÖØÆôµçÄÔ¡£
ÍêÕû´úÂ룺
/**
* @param args
*/
public static void main(String[] args) {
/*
&nbs ......
´úÀíģʽµÄ×÷ÓÃÊÇ£ºÎªÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖƶÔÕâ¸ö¶ÔÏóµÄ·ÃÎÊ¡£
ÔÚijЩÇé¿öÏ£¬Ò»¸ö¿Í»§²»Ïë»òÕß²»ÄÜÖ±½ÓÒýÓÃÁíÒ»¸ö¶ÔÏ󣬶ø´úÀí¶ÔÏó¿ÉÒÔÔÚ¿Í»§¶ËºÍÄ¿±ê¶ÔÏóÖ®¼äÆðµ½ÖнéµÄ×÷Óá£
´úÀíģʽһ°ãÉæ¼°µ½µÄ½ÇÉ«ÓÐ
³éÏó½ÇÉ«£ºÉùÃ÷ÕæÊµ¶ÔÏóºÍ´úÀí¶ÔÏóµÄ¹«¹²½Ó¿Ú£¨Çó¾Ö³¤°ìʵÄÈË£©
´úÀí½ÇÉ«£º´úÀí¶ÔÏó½ÇÉ«ÄÚ²¿º¬ÓжÔÕæÊµ ......
1. Òì³£»úÖÆ
Òì³£»úÖÆÊÇÖ¸µ±³ÌÐò³öÏÖ´íÎóºó£¬³ÌÐòÈçºÎ´¦Àí¡£¾ßÌåÀ´Ëµ£¬Òì³£»úÖÆÌṩÁ˳ÌÐòÍ˳öµÄ°²È«Í¨µÀ¡£µ±³öÏÖ´íÎóºó£¬³ÌÐòÖ´ÐеÄÁ÷³Ì·¢Éú¸Ä±ä£¬³ÌÐòµÄ¿ØÖÆÈ¨×ªÒƵ½Òì³£´¦ÀíÆ÷¡£
´«Í³µÄ´¦ÀíÒì³£µÄ°ì·¨ÊÇ£¬º¯Êý·µ»ØÒ»¸öÌØÊâµÄ½á¹ûÀ´±íʾ³öÏÖÒì³££¨Í¨³ ......
ÕâÁ½Ìì×öÍêÁËÒÔǰ£¬CRMÏîÄ¿ÖУ¬Éè¼ÆÈ¨ÏÞÕâ¿ìµÄ´úÂ룬½ö¹©´ó¼Òѧϰ²Î¿¼¡£
±¾È¨ÏÞ¹ÜÀí²¿·ÖÉè¼ÆÈý²¿·Ö£º
µÚÒ»²¿·Ö Êý¾Ý¿â²¿·Ö
µÚ¶þ²¿·Ö ȨÏÞÀà
µÚÈý²¿·Ö ·ÖÅäȨÏÞ²¿·Ö
µÚËIJ¿·Ö Ò³Ãæ¿ØÖƲ¿·Ö
ÔÚÕâÀïÎÒÖ÷ÒªÉè¼ÆºóÈý²¿·ÖÔÂ룺
ȨÏÞÀàÉè¼ÆÔÂ룺
package com.qizhi.common;
/**
* È«¾Ö³£Á¿
*
&nbs ......
ʲôÊÇjavaÐòÁл¯£¬ÈçºÎʵÏÖjavaÐòÁл¯£¿
´ð£ºÐòÁл¯¾ÍÊÇÒ»ÖÖÓÃÀ´´¦Àí¶ÔÏóÁ÷µÄ»úÖÆ£¬Ëùν¶ÔÏóÁ÷Ò²¾ÍÊǽ«¶ÔÏóµÄÄÚÈݽøÐÐÁ÷»¯¡£¿ÉÒÔ¶ÔÁ÷»¯ºóµÄ¶ÔÏó½øÐжÁд²Ù×÷£¬Ò²¿É½«Á÷»¯ºóµÄ¶ÔÏó´«ÊäÓÚÍøÂçÖ®¼ä¡£ÐòÁл¯ÊÇΪÁ˽â¾öÔÚ¶Ô¶ÔÏóÁ÷½øÐжÁд²Ù×÷ʱËùÒý·¢µÄÎÊÌâ¡£
ÐòÁл¯µÄʵÏÖ£º½«ÐèÒª±»ÐòÁл¯µÄÀàʵÏÖSerializable½Ó¿Ú£¬¸Ã½Ó¿Ú ......