Java Reflection (JAVA·´Éä) Ïê½â
JavaÓïÑÔ·´ÉäÌṩһÖÖ¶¯Ì¬Á´½Ó³ÌÐò×é¼þµÄ¶à¹¦ÄÜ·½·¨¡£ËüÔÊÐí³ÌÐò´´½¨ºÍ¿ØÖÆÈκÎÀàµÄ¶ÔÏó(¸ù¾Ý°²È«ÐÔÏÞÖÆ)£¬ÎÞÐèÌáÇ°Ó²±àÂëÄ¿±êÀà¡£ÕâЩÌØÐÔʹµÃ·´ÉäÌرðÊÊÓÃÓÚ´´½¨ÒԷdz£ÆÕͨµÄ·½Ê½Óë¶ÔÏóÐ×÷µÄ¿â¡£ÀýÈ磬·´Éä¾³£ÔÚ³ÖÐø´æ´¢¶ÔÏóΪÊý¾Ý¿â¡¢XML»òÆäËüÍⲿ¸ñʽµÄ¿ò¼ÜÖÐʹÓá£Java reflection ·Ç³£ÓÐÓã¬ËüʹÀàºÍÊý¾Ý½á¹¹ÄÜ°´Ãû³Æ¶¯Ì¬¼ìË÷Ïà¹ØÐÅÏ¢£¬²¢ÔÊÐíÔÚÔËÐÐ×ŵijÌÐòÖвÙ×÷ÕâЩÐÅÏ¢¡£Java µÄÕâÒ»ÌØÐԷdz£Ç¿´ó£¬²¢ÇÒÊÇÆäËüһЩ³£ÓÃÓïÑÔ£¬Èç C¡¢C++¡¢Fortran »òÕß Pascal µÈ¶¼²»¾ß±¸µÄ¡£
µ«·´ÉäÓÐÁ½¸öȱµã¡£µÚÒ»¸öÊÇÐÔÄÜÎÊÌâ¡£ÓÃÓÚ×ֶκͷ½·¨½ÓÈëʱ·´ÉäÒªÔ¶ÂýÓÚÖ±½Ó´úÂë¡£ÐÔÄÜÎÊÌâµÄ³Ì¶ÈÈ¡¾öÓÚ³ÌÐòÖÐÊÇÈçºÎʹÓ÷´ÉäµÄ¡£Èç¹ûËü×÷Ϊ³ÌÐòÔËÐÐÖÐÏà¶ÔºÜÉÙÉæ¼°µÄ²¿·Ö£¬»ºÂýµÄÐÔÄܽ«²»»áÊÇÒ»¸öÎÊÌâ¡£¼´Ê¹²âÊÔÖÐ×Çé¿öϵļÆʱͼÏÔʾµÄ·´Éä²Ù×÷Ö»ºÄÓü¸Î¢Ãë¡£½ö·´ÉäÔÚÐÔÄܹؼüµÄÓ¦ÓõĺËÐÄÂß¼ÖÐʹÓÃʱÐÔÄÜÎÊÌâ²Å±äµÃÖÁ¹ØÖØÒª¡£
Ðí¶àÓ¦ÓÃÖиüÑÏÖصÄÒ»¸öȱµãÊÇʹÓ÷´Éä»áÄ£ºý³ÌÐòÄÚ²¿Êµ¼ÊÒª·¢ÉúµÄÊÂÇé¡£³ÌÐòÈËԱϣÍûÔÚÔ´´úÂëÖп´µ½³ÌÐòµÄÂß¼£¬·´ÉäµÈÈƹýÁËÔ´´úÂëµÄ¼¼Êõ»á´øÀ´Î¬»¤ÎÊÌâ¡£·´Éä´úÂë±ÈÏàÓ¦µÄÖ±½Ó´úÂë¸ü¸´ÔÓ£¬ÕýÈçÐÔÄܱȽϵĴúÂëʵÀýÖп´µ½µÄÒ»Ñù¡£½â¾öÕâЩÎÊÌâµÄ×î¼Ñ·½°¸ÊDZ£ÊصØʹÓ÷´Éä——½öÔÚËü¿ÉÒÔÕæÕýÔö¼ÓÁé»îÐԵĵط½——¼Ç¼ÆäÔÚÄ¿±êÀàÖеÄʹÓá£
¡¡ 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(
Ïà¹ØÎĵµ£º
ÎÒµÄjavaѧϰÁËÒ»ÄêÓÐÓ࣬Æð³õÊǺúÂÒѧ£¬ºóÀ´¾õµÃjava·Ç³£ÓÐÒâ˼£¬²¢ÇÒÏëÔÚÕâ·½ÃæÉîÈëѧϰ£¬ÏÖÔÚ²ÅÊÇJavaѧϰÕæÕýµÄ¿ªÊ¼¡£ÎÒÕýÔÚÔĶÁcorejavaºÍ±à³Ì˼Ï룬ѧÍêÕâÈý±¾ºóÏë¸ãj2eeµÄ¿ª·¢¡£±¾È˶ÔÊý¾Ý¿âÒ²¸ÐÐËȤ£¬ÏÖÔÚÈÈÖÔÓÚSQL£¬µ«ÊÇÎÒÏàÐÅ×Ô¼º×îÖÕ»áÃé×¼ORECAL(ºÜ´ó³Ì¶È³öÓÚºÃÆæÐÄ£©£¬ÆäʵÏÖÔÚ¾õµÃJava DB ......
WindowsÏÂJAVAÓõ½µÄ»·¾³±äÁ¿Ö÷ÒªÓÐ3¸ö£¬JAVA_HOME¡¢CLASSPATH¡¢PATH¡£ÏÂÃæÖð¸ö·ÖÎö¡£ JAVA_HOMEÖ¸ÏòµÄÊÇJDKµÄ°²×°Â·¾¶£¬Èçx:\JDK_1.4.2£¬ÔÚÕâ·¾¶ÏÂÄãÓ¦¸ÃÄܹ»ÕÒµ½bin¡¢libµÈĿ¼¡£ÖµµÃÒ»ÌáµÄÊÇ£¬JDKµÄ°²×°Â·¾¶¿ÉÒÔÑ¡ÔñÈÎÒâ´ÅÅÌĿ¼£¬²»¹ý½¨ÒéÄã·ÅµÄĿ¼²ã´Îdzһµã£¬Èç¹ûÄã·ÅµÄĿ¼ºÜÉ±ÈÈçx:\XXXXXX\xxxxx\XXXX\xxxx\X ......
@echo off&setlocal enabledelayedexpansion
:begin
cls
set/p path_=ÇëÊäÈëÄãÒªÌí¼ÓµÄ»·¾³±äÁ¿µÄ·¾¶£º
if not defined path_ goto error
for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Sess ......
package cf.java.study.java.io;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class FileTests {
@Before
public void set ......
Èí¼þ¿ª·¢Ö®Â·ÊdzäÂú¾£¼¬ÓëÌôս֮·,Ò²ÊdzäÂúÏ£Íû֮·¡£JavaѧϰҲÊÇÈç´Ë£¬Ã»Óнݾ¶¿É×ß¡£ÃÎÏëÏñ¡¶ÌìÁú°Ë²¿¡·ÖÐÐéÖñÒ»Ñù±»ÎÞÑÂ×Óõ®õ¹à¶¥¶øÇáËÉ»ñµÃÒ»¼××Ó¹¦Á¦£¬ÊǺܲ»ÏÖʵµÄ¡£Ã¿ÌìÑöÌì´ó½Ð"ÌìÉñ°¡£¬Çë´Í¸øÎÒÒ»±¾¿û»¨±¦µä°É"£¬Êâ²»Öª¼´Ê¹Äã»ñµÃÁË¿û»¨±¦µä£¬³ýÁËÊÜ×Ô¹¬ÆäÉíÖ®¿àÍ⣬ÄãÒ²²»Ò»¶¨³ÉµÃÁË"¶«·½² ......