Java·´Éä»úÖÆ Ïê½â »ù±¾¹¦
Ò»°ã¶øÑÔ£¬¿ª·¢ÕßÉçȺ˵µ½¶¯Ì¬ÓïÑÔ£¬´óÖÂÈÏͬµÄÒ»¸ö¶¨ÒåÊÇ£º“³ÌÐòÔËÐÐʱ£¬ÔËÐиıä³ÌÐò½á¹¹»ò±äÁ¿ÀàÐÍ£¬ÕâÖÖÓïÑÔ³ÆÎª¶¯Ì¬ÓïÑÔ”¡£´ÓÕâ¸ö¹Ûµã¿´£¬perl,phthon,rubyÊǶ¯Ì¬ÓïÑÔ£¬C++,JAVA,C#²»ÊǶ¯Ì¬ÓïÑÔ¡£
ÔÚJavaÔËÐÐʱ»·¾³ÖУ¬¶ÔÓÚÈÎÒâÒ»¸öÀ࣬ÄÜ·ñÖªµÀÕâ¸öÀàÓÐÄÄЩÊôÐԺͷ½·¨£¿¶ÔÓÚÈÎÒâÒ»¸ö¶ÔÏó£¬ÄÜ·ñµ÷ÓÃËüµÄÈÎÒâÒ»¸ö·½·¨£¿ ´ð°¸Êǿ϶¨µÄ£¬ÕâÖÖ¶¯Ì¬»ñÈ¡ÀàµÄÐÅÏ¢ÒÔ¼°¶¯Ì¬µ÷ÓöÔÏóµÄ·½·¨µÄ¹¦ÄÜÀ´×ÔÓÚJavaÓïÑԵķ´Éä(Reflection)»úÖÆ¡£
Java·´Éä»úÖÆÖ÷ÒªÌṩÁËÒÔϹ¦ÄÜ£º
ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸ö¶ÔÏóËùÊôµÄÀà¡£
ÔÚÔËÐÐʱ¹¹ÔìÈÎÒâÒ»¸öÀàµÄ¶ÔÏó.
ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸öÀàËù¾ßÓеijÉÔ±±äÁ¿ºÍ·½·¨¡£
ÔÚÔËÐÐʱµ÷ÓÃÈÎÒâÒ»¸ö¶ÔÏóµÄ·½·¨¡£
reflectionÊÇJava±»ÊÓΪ¶¯Ì¬(»ò×¼¶¯Ì¬)ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ£¬Õâ¸ö»úÖÆÔËÐгÌÐòÔÚÔËÐÐʱ͸¹ýreflection apisÈ¡µÃÈÎÒâÒ»¸öÒÑÖªÃû³ÆµÄclassµÄ
ÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers(ÖîÈçpublic,staticµÈµÈ)£¬superclass(ÀýÈçObject)£¬ÊµÏÖÖ®Interface(ÀýÈçserializable),Ò²°üÀ¨fieldsºÍmethodsµÄËùÓÐÐÅÏ¢£¬²¢¿ÉÓÚÔËÐÐʱ¸Ä±äfieldsÄÚÈÝ»òµ÷ÓÃmethods¡£
ÔÚJDKÖУ¬Ö÷ÒªÓÉÒÔÏÂÀàÀ´ÊµÏÖJava·´Éä»úÖÆ£¬ÕâЩÀ඼λÓÚJava.lang.reflect°üÖÐ
ClassÀࣺ´ú±íÒ»¸öÀà
FieldÀࣺ ´ú±íÀàµÄ³ÉÔ±±äÁ¿(³ÉÔ±±äÁ¿Ò²³ÆÎªÀàµÄÊôÐÔ)¡£
MethodÀࣺ ´ú±íÀàµÄ·½·¨¡£
ConstructorÀࣺ ´ú±íÀà¶¼¹¹Ôì·½·¨¡£
ArrayÀࣺ ÌṩÁ˶¯Ì¬´´½¨Êý×飬ÒÔ¼°·ÃÎÊÊý×éµÄÔªËØµÄ¾²Ì¬·½·¨
Àý³ÌDumpMethodsÀàÑÝʾÁËReflectionAPIµÄ»ù±¾×÷Óã¬Ëü¶ÁÈ¡ÃüÁîÐвÎÊýÖ¸¶¨µÄÀàÃû£¬È»ºó´òÓ¡Õâ¸öÀàËù¾ßÓеķ½·¨ÐÅÏ¢¡£
public static void main(String args[]){
Class<?> classType=Class.forName(args[0]);
Method methods[]=classType.getDeclaredMethods();
for(int i=0; i<method.length;i++)
{
System.out.println(methods[i].toString());
}
}
Àý³ÌReflectTesterÀà½øÒ»²½ÑÝʾÁËReflectionAPIµÄ»ù±¾Ê¹Ó÷½·¨¡£ ReflectTesterÀàÓÐÒ»¸öcopy(Object object)·½·¨£¬Õâ¸ö·½·¨Äܹ»´´½¨Ò»¸öºÍ²ÎÊýobjectͬÑùÀàÐ͵ĶÔÏó£¬È»ºó°Ñobject¶ÔÏóÖеÄËùÓÐÊôÐÔ¿½±´µ½Ð½¨µÄ¶ÔÏóÖУ¬²¢½«Ëü·µ»Ø
Õâ¸öÀý×ÓÖ»Äܸ´ÖƼòµ¥µÄJavaBean£¬¼Ù¶¨JavaBea
Ïà¹ØÎĵµ£º
ÈçºÎÓÃJava»ñµÃÒ»¸öÓòÃûµÄIPµØÖ·ÄØ£¿ÌṩÕâ¸ö¹¦ÄܵÄÀà½Ð×öjava.net.InetAddress¡£ÎÒÃǼÙÉèÏÖÔÚÓÐÕâÑùÒ»¸öÓòÃû£¬ËüÓÃÒ»¸ö¾²Ì¬µÄ
getByNameÀ´ÖØÐ»ñµÃÒ»¸öInetAddress£¬È»ºóµÃµ½¿ÉÒÔ¶Á³öµÄIPµØÖ·¡£ÏÂÃæµÄ´úÂëÊǷdz£»ù±¾µÄÃüÁîÐС£
import java.net.InetAddress;
import java.net.Unknow ......
×î½üÔÚ×öÒ»¸ö¶Ôjava×ÀÃæÓ¦ÓóÌÐòÏîÄ¿£¬ÐèÒª´ò°ü³ÉͬÆÕͨµÄ¶þ½øÖÆÓ¦ÓóÌÐòÒ»Ñù¡£
[1]ʹÓÃeclipse ½«Õû¸öÏîÄ¿´ò°ü³É¿ÉÔËÐеÄjarÎļþ£¬ÔÚÓ¦Óùý³ÌÖз¢ÏÖ×ÊÔ´ÎļþÈç¹û²»ÊÇͨ¹ýinputstreamÀ´¶ÁÈ¡µÄ»°£¬ÊÇÎÞ·¨·ÃÎʵ½µÄ£¬ÔÚ×öÏîĿʱûÓп¼Âǵ½Õâµã£¬ËùÒÔ×îºóÖ»ºÃ° ......
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
com.sun.java.swing.plaf.mac.MacLookAndFeel
com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel //java6ÐÂÆ¤·ô£¬²£Á§Í¸Ã÷
ÎÒµÄ×ÊÔ´ÖÐÓÐÏà¹Ø java swing ·½ÃæµÄ½Ì³Ì£¬j ......
EclipseÓënetbeansʹÓÃÆÀ²â
½çÃæ
1 ÔÚ½çÃæÉÏnetbeans±È½ÏƯÁÁ,ÓѺá£µÃ·Ö 9
2 EclipseÓкÜÇ¿µÄ¶¨ÖÆÐУ¬Ã»netbeansÃÀ¹Û¡£ÊʺϸßÊÖ µÃ·Ö 8
¹¦ÄÜ
²»×ö±È½Ï
̸һЩ¸öÈË¿´·¨:ÔÚ¹¦ÄÜÉÏEclipseÖ§³Ö´óÁ¿µÄÀ©Õ¹,²»½ö½öÊÇÒ»¸ö java¿ª·¢¹¤¾ß,¸ü¿ÉÒÔÓÃÀ´¿ª·¢ c c++
phpµÈµÈ,¹¦ÄÜ¿ÉÒÔÎÞÏÞµÄÀ©Õ¹.netbeansÒ²Ö§³ÖÀ©Õ¹,¿ÉÒ²ÏÖÔ ......
1. Òì³£»úÖÆ
Òì³£»úÖÆÊÇÖ¸µ±³ÌÐò³öÏÖ´íÎóºó£¬³ÌÐòÈçºÎ´¦Àí¡£¾ßÌåÀ´Ëµ£¬Òì³£»úÖÆÌṩÁ˳ÌÐòÍ˳öµÄ°²È«Í¨µÀ¡£µ±³öÏÖ´íÎóºó£¬³ÌÐòÖ´ÐеÄÁ÷³Ì·¢Éú¸Ä±ä£¬³ÌÐòµÄ¿ØÖÆÈ¨×ªÒƵ½Òì³£´¦ÀíÆ÷¡£
´«Í³µÄ´¦ÀíÒì³£µÄ°ì·¨ÊÇ£¬º¯Êý·µ»ØÒ»¸öÌØÊâµÄ½á¹ûÀ´±íʾ³öÏÖÒì³££¨Í¨³ ......