Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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¸öÀàÖе¥


Ïà¹ØÎĵµ£º

JAVAѧϰ±Ê¼Ç¢Ú

1 ±àÒëÃüÁî
¡¡¡¡javac [options] filename.java
¡¡¡¡options->
¡¡¡¡-classpath path ±àÒëʱÐèÒªµÄÀà·¾¶
¡¡¡¡-d directory É趨±àÒëÉú³ÉµÄ.classÎļþÊäÈëµ½ÄÄÒ»¸öĿ¼¡£
¡¡¡¡¹ØÓÚ-dС¼¼ÇÉ : Èç¹û.javaÎļþÖÐʹÓÃÁËpackageÓï¾ä, ÀýÈç package com.test.maths; ¼ÓÉÏ-     d . Ñ¡Ïî»á°ïÖúÔÚµ±Ç°Ä¿ ......

java Óï·¨:

java Óï·¨:
JavaµÄ»ù±¾·ûºÅ£¨token£©
JavaµÄµ¥´Ê·ûºÅÓÐÎåÖÖ£º¹Ø¼ü×Ö¡¢±êʶ·û¡¢³£Á¿¡¢·Ö¸ô·ûºÍ²Ù×÷·û¡£
JavaµÄ×Ö·û¼¯
Java ²ÉÓÃÒ»ÖÖ³ÆÎªunicodeµÄ×Ö·û¼¯£¬¸Ã×Ö·û¼¯ºÏÊÇÒ»ÖÖеıàÂë±ê×¼£¬Óë³£¼ûµÄASCIIÂëµÄÇø±ðÔÚÓÚ£º
unicodeʹÓÃ16λ¶þ½øÖƶø²»ÊÇ8λÀ´±íʾһ¸ö×Ö·û¡£
unicode×Ö·û¼¯ÖÐÔö¼ÓÁËÐí¶à·ÇÀ­¶¡Óï×Ö·û¡£
......

ÅÐ¶Ï Java ÖеĿÕ×Ö·û´®


ÒÔÏÂÊÇ Java ÅжÏ×Ö·û´®ÊÇ·ñΪ¿ÕµÄÈýÖÖ·½·¨.
·½·¨Ò»: ×î¶àÈËʹÓõÄÒ»¸ö·½·¨, Ö±¹Û, ·½±ã, µ«Ð§ÂʺܵÍ.
·½·¨¶þ: ±È½Ï×Ö·û´®³¤¶È, ЧÂʸß, ÊÇÎÒÖªµÀµÄ×îºÃÒ»¸ö·½·¨.
·½·¨Èý: Java SE 6.0 ²Å¿ªÊ¼ÌṩµÄ·½·¨, ЧÂʺͷ½·¨¶þ¼¸ºõÏàµÈ, µ«³öÓÚ¼æÈÝÐÔ¿¼ÂÇ, ÍÆ¼öʹÓ÷½·¨¶þ.
ÒÔÏ´úÂëÔÚÎÒ»úÆ÷ÉϵÄÔËÐнá¹û: (»úÆ÷ÐÔÄܲ»Ò», ½ö¹ ......

javaÐéÄâ»úʹÓÃÄÚ´æµÄ˼¿¼

¹ØÓÚjavaÐéÄâ»úʹÓÃÄÚ´æµÄ˼¿¼
 JVM(javaÐéÄâ»ú)Æäʵ¾ÍÊDzÙ×÷ϵͳ(Èçwindows)ÉϵÄÒ»¸öÆÕͨ³ÌÐò(½ø³ÌÃû½Ðjava,Õâ¸ö³ÌÐò¿ÉÒÔ½âÊÍÖ´ÐÐclassÎļþ)¡£
 µ±java½ø³ÌÆô¶¯Ê±»áÊ×ÏÈ·ÖÅäÒ»¿é¶ÑÄڴ棨×îСÄڴ棩£¬ÒÔºóÿµ±class×Ö½ÚÂë³ÌÐòÒªÇóJVM(java½ø³Ì)·ÖÅäÄÚ´æÊ±£¬JVM
 ¾Í»áÔÚÔ¤ÏÈ·ÖÅäµÄÄÇ¿éÄÚ´æÉÏÃæÎªclass×Ö½Ú ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ