javaµÄ·¢Éä»úÖÆ
Person p=new Person();
ÕâÊÇʲô?µ±È»ÊÇʵÀý»¯Ò»¸ö¶ÔÏóÁË.¿ÉÊÇÕâÖÖʵÀý»¯¶ÔÏóµÄ·½·¨´æÔÚÒ»¸öÎÊÌâ,ÄǾÍÊDZØÐëÒªÖªµÀÀàÃû²Å¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏó,ÕâÑùÎÒÃÇÔÚÓ¦Ó÷½Ãæ¾Í»áÊܵ½ÏÞÖÆ.ÄÇôÓÐûÓÐÕâÑùÒ»ÖÖ·½Ê½,ÈÃÎÒÃDz»ÖªµÀÕâ¸öÀàµÄÀàÃû¾Í¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏóÄØ?Thank Goodness!ÐÒ¿÷ÎÒÃÇÓõÄÊÇjava, java¾ÍÌṩÁËÕâÑùµÄ»úÖÆ.
1).java³ÌÐòÔÚÔËÐÐʱ¿ÉÒÔ»ñµÃÈκÎÒ»¸öÀàµÄ×Ö½ÚÂëÐÅÏ¢,°üÀ¨ÀàµÄÐÞÊηû(public,staticµÈ),»ùÀà(³¬Àà,¸¸Àà),ʵÏֵĽӿÚ,×ֶκͷ½·¨µÈÐÅÏ¢.
2).java³ÌÐòÔÚÔËÐÐʱ¿ÉÒÔ¸ù¾Ý×Ö½ÚÂëÐÅÏ¢À´´´½¨¸ÃÀàµÄʵÀý¶ÔÏó,¸Ä±ä¶ÔÏóµÄ×Ö¶ÎÄÚÈݺ͵÷ÓöÔÏó·½·¨.
ÕâÑùµÄ»úÖÆ¾Í½Ð·´Éä¼¼Êõ.¿ÉÒÔÏëÏó¹âѧÖеķ´Éä,¾ÍÏñÎÒÃÇÕÕ¾µ×Ó,¾µ×ÓÖÐÓÖ³öÏÖÒ»¸ö×Ô¼º(±ÈÓ÷¿ÉÄܲ»Ì«Ç¡µ±,µ«ÊÇ×ãÒÔ±í´ïÇå³þÒâ˼ÁË).·´Éä¼¼ÊõÌṩÁËÒ»ÖÖͨÓõĶ¯Ì¬Á¬½Ó³ÌÐò×é¼þµÄ·½·¨,²»±ØÒª°Ñ³ÌÐòËùÐèÒªµÄÄ¿±êÀàÓ²±àÂëµ½Ô´³ÌÐòÖÐ,´Ó¶øÊ¹µÃÎÒÃÇ¿ÉÒÔ´´½¨Áé»îµÄ³ÌÐò.
JavaµÄ·´Éä»úÖÆÊÇͨ¹ý·´ÉäAPIÀ´ÊµÏÖµÄ,ËüÔÊÐí³ÌÐòÔÚÔËÐйý³ÌÖÐÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄÀàµÄÄÚ²¿ÐÅÏ¢.·´ÉäAPIλÓÚjava.lang.reflect°üÖÐ.Ö÷Òª°üÀ¨ÒÔϼ¸Àà:
1).ConstructorÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ¹¹Ôì·½·¨
2).FieldÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ³ÉÔ±±äÁ¿
3).MethodÀà:ÓÃÀ´ÃèÊöÒ»¸öÀàµÄ·½·¨.
4).ModiferÀà:ÓÃÀ´ÃèÊöÀàÄÚ¸÷ÔªËØµÄÐÞÊηû
5).Array:ÓÃÀ´¶ÔÊý×é½øÐвÙ×÷.
Constructor,Field,MethodÕâÈý¸öÀà¶¼ÊÇJVM(ÐéÄâ»ú)ÔÚ³ÌÐòÔËÐÐʱ´´½¨µÄ,ÓÃÀ´±íʾ¼ÓÔØÀàÖÐÏàÓ¦µÄ³ÉÔ±.ÕâÈý¸öÀ඼ʵÏÖÁËjava.lang.reflect.Member½Ó¿Ú,Member½Ó¿Ú¶¨ÒåÁË»ñÈ¡Àà³ÉÔ±»ò¹¹Ôì·½·¨µÈÐÅÏ¢µÄ·½·¨.ҪʹÓÃÕâЩ·´ÉäAPI,±ØÐëÏȵõ½Òª²Ù×÷µÄ¶ÔÏó»òÀàµÄClassÀàµÄʵÀý.ͨ¹ýµ÷ÓÃClassÀàµÄnewInstance·½·¨(Ö»Äܵ÷ÓÃÀàµÄĬÈϹ¹Ôì·½·¨)¿ÉÒÔ´´½¨ÀàµÄʵÀý.ÕâÑùÓоÖÏÞÐÔ,ÎÒÃÇ¿ÉÒÔÏȳåÀàµÄClassʵÀý»ñÈ¡ÀàÐèÒªµÄ¹¹Ôì·½·¨,È»ºóÔÚÀûÓ÷´ÉäÀ´´´½¨ÀàµÄÒ»¸öʵÀý.
Ò».»ñÈ¡ÀàµÄ¹¹Ôì·½·¨µÄConstructor¶ÔÏó(Êý×é)
¡ñ Constructor[] getDeclaredConstructors();·µ»ØÒѼÓÔØÀàÉùÃ÷µÄËùÓеĹ¹Ôì·½·¨µÄConstructor¶ÔÏóÊý×é.
¡ñ Constructor getDeclaredConstructor(Class[] paramTypes);·µ»ØÒѼÓÔØÀàÉùÃ÷µÄÖ¸¶¨¹¹Ôì·½·¨µÄConstructor¶ÔÏó,paramTypesÖ¸¶¨Á˲ÎÊýÀàÐÍ.
¡ñ Constructor[] getConstructors();·µ»ØÒѼÓÔØÀàÉùÃ÷µÄËùÓеÄpublicÀàÐ͵Ĺ¹Ôì·½·¨µÄConstructor¶ÔÏóÊý×é.
¡ñ Constructor getConstructor(Class[] paramTypes);·µ»ØÒѼÓÔØÀà
Ïà¹ØÎĵµ£º
Annotations
AnnotationsÊÇJ2SE 5.0ÒýÈëµÄÐÂÓïÑÔÌØÐÔ¡£Í¨³££¬ AnnotationsÔÊÐí¿ª·¢ÕßÓÃÒ»ÖÖ¸úÔËÐдúÂëÎ޹صĴÎÒªÐÅÏ¢À´±ê×¢À࣬·½·¨ÒÔ¼°³ÉÔ±¡£ÕâÑù¾Í¿ÉÒÔʹÓÃÀàËÆÆÀ¼ÛµÄ Annotations£¬±ÈÈ瓺÷½·¨”¡¢“»µ·½·¨”£¬»òÕ߸üÏêϸһЩ£¬“²»ÍƼöµÄ·½·¨”¡¢“¸²Ð´µÄ·½·¨&rdq ......
±ðÉùÃ÷£ºÕâÊÇһƪÀ´×ÔwudaleµÄ²©¿ÍµÄÎÄÕÂhttp://wudale.bokee.com/3594651.html
JavaÊÇĿǰ×îÁ÷ÐеÄÃæÏò¶ÔÏóµÄ±ä³ÉÓïÑÔÖ®Ò»£¬JavaÖ§UTF£8£¬ISO£8859£1¡¢GBKµÈ¸÷ÖÖ×ÖÌå±àÂ룬¿É±ÊÕß·¢ÏÖJavaÖÐ×ÖÌå±àÂëµÄÎÊÌâÈÔÀ§µ¹Á˲»ÉÙ³ÌÐòÔ±£¬ÍøÉÏËäÈ»Ò²Ó ......
//1.´´½¨testdll.javaÎļþ
public class testdll
{
static
{
System.loadLibrary("goodluck");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args)
{
testdll test = new testdll();
test.set(10);
System.out.println(test.get() ......
Reflection ÊÇJava±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ¡£Õâ¸ö»úÖÆÔÊÐí³ÌÐòÔÚÔËÐÐʱ͸¹ýReflection APIsÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄclass
µÄÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers£¨ÖîÈçpublic, static µÈµÈ£©¡¢superclass£¨ÀýÈçObject£©¡¢ÊµÏÖÖ®interfaces£¨ÀýÈçCloneable£©£¬Ò²°üÀ¨fields
ºÍmethodsµÄËùÓÐÐÅÏ ......