Java·´Éä»úÖÆ
·´Éä»úÖÆ:ËùνµÄ·´Éä»úÖÆ¾ÍÊÇjava
ÓïÑÔÔÚÔËÐÐʱӵ
ÓÐÒ»Ïî×Ô¹ÛµÄÄÜÁ¦¡£Í¨¹ýÕâÖÖÄÜÁ¦¿ÉÒÔ³¹µ×µÄÁ˽â×ÔÉíµÄÇé¿öΪÏÂÒ»²½µÄ¶¯×÷×ö×¼±¸¡£ÏÂÃæ¾ßÌå½éÉÜÒ»ÏÂjava
µÄ·´Éä»úÖÆ¡£ÕâÀïÄ㽫µß¸²ÔÀ´¶ÔjavaµÄÀí½â¡£
JavaµÄ·´Éä»úÖÆµÄʵÏÖÒª½èÖúÓÚ4¸öÀࣺclass£¬Constructor£¬Field£¬Method£»ÆäÖÐclass´ú±íµÄʱÀà¶Ô
Ïó£¬Constructor£ÀàµÄ¹¹ÔìÆ÷¶ÔÏó£¬Field£ÀàµÄÊôÐÔ¶ÔÏó£¬Method£ÀàµÄ·½·¨¶ÔÏó¡£Í¨¹ýÕâËĸö¶ÔÏóÎÒÃÇ¿ÉÒÔ´ÖÂԵĿ´µ½Ò»¸öÀàµÄ¸÷¸ö×é
³É²¿·Ö¡£
Class£º³ÌÐòÔËÐÐʱ£¬javaÔËÐÐʱϵͳ»á¶ÔËùÓеĶÔÏó½øÐÐÔËÐÐʱÀàÐ͵Ĵ¦Àí¡£ÕâÏîÐÅÏ¢¼Ç¼ÁËÿ¸ö¶ÔÏóËùÊôµÄÀ࣬ÐéÄâ»úͨ³£Ê¹ÓÃÔËÐÐʱÀàÐÍÐÅÏ¢
Ñ¡ÔñÕý
È·µÄ·½·¨À´Ö´ÐУ¨Õª×Ô£º°×ƤÊ飩¡£µ«ÊÇÕâЩÐÅÏ¢ÎÒÃÇÔõôµÃµ½°¡£¬¾ÍÒª½èÖúÓÚclassÀà¶ÔÏóÁ˰¡¡£ÔÚObjectÀàÖж¨ÒåÁËgetClass()·½·¨¡£ÎÒ
ÃÇ¿ÉÒÔͨ¹ýÕâ¸ö·½·¨»ñµÃÖ¸¶¨¶ÔÏóµÄÀà¶ÔÏó¡£È»ºóÎÒÃÇͨ¹ý·ÖÎöÕâ¸ö¶ÔÏó¾Í¿ÉÒԵõ½ÎÒÃÇÒªµÄÐÅÏ¢ÁË¡£
±ÈÈ磺ArrayList arrayList;
Class clazz = arrayList.getClass();
È»ºóÎÒÀ´´¦ÀíÕâ¸ö¶ÔÏóclazz¡£
µ±È»ÁËClassÀà¾ßÓкܶàµÄ·½·¨£¬ÕâÀïÖØµã½«ºÍConstructor£¬Field£¬MethodÀàÓйØÏµµÄ·½·¨¡£
Reflection ÊÇ Java ³ÌÐò¿ª·¢ÓïÑÔµÄÌØÕ÷Ö®Ò»£¬ËüÔÊÐíÔËÐÐÖÐµÄ Java
³ÌÐò¶Ô×ÔÉí½øÐмì²é£¬»òÕß˵“×ÔÉ󔣬²¢ÄÜÖ±½Ó²Ù×÷³ÌÐòµÄÄÚ²¿ÊôÐÔ¡£Java
µÄÕâÒ»ÄÜÁ¦ÔÚʵ¼ÊÓ¦ÓÃÖÐÒ²ÐíÓõò»ÊǺܶ࣬µ«ÊǸöÈËÈÏΪҪÏë¶ÔjavaÓиö¸ü¼ÓÉîÈëµÄÁ˽⻹ÊÇÓ¦¸ÃÕÆÎյġ£
1£®¼ì²âÀࣺ
reflectionµÄ¹¤×÷»úÖÆ
¿¼ÂÇÏÂÃæÕâ¸ö¼òµ¥µÄÀý×Ó£¬ÈÃÎÒÃÇ¿´¿´ 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.ArrayList
Õâ¸ö³ÌÐòʹÓà Class.forName ÔØÈëÖ¸¶¨µÄÀ࣬Ȼºóµ÷Óà getDeclaredMethods
À´»ñÈ¡Õâ¸öÀàÖж¨ÒåÁ˵ķ½·¨ÁÐ±í¡£java.lang.reflect.Methods ÊÇÓÃÀ´ÃèÊöij¸öÀàÖе¥¸ö·½·¨µÄÒ»¸öÀà¡£
JavaÀà·´ÉäÖеÄÖ÷Òª·½·¨
¶ÔÓÚÒÔÏÂÈýÀà×é¼þÖеÄÈκÎÒ»ÀàÀ´Ëµ -- ¹¹Ô캯Êý¡¢×ֶκͷ½·¨ -- java.lang.Class
ÌṩËÄÖÖ¶ÀÁ¢µÄ·´Éäµ÷Óã¬ÒÔ²»Í¬µÄ·½Ê½À´»ñµÃÐÅÏ¢¡£µ÷Óö¼×ñÑÒ»ÖÖ
Ïà¹ØÎĵµ£º
´úÂë¿é£º¾ÍÊÇÓÃ{}À¨ÆðÀ´µ½²¿·Ö¡£¸ù¾ÝÓ¦ÓõIJ»Í¬·ÖΪ4Àà:ÆÕͨ´úÂë¿é¡¢¹¹Ôì¿é¡¢¾²Ì¬´úÂë¿é¡¢Í¬²½´úÂë¿é¡£
1.ÆÕͨ´úÂë¿é£º¶¨ÒåÔÚ·½·¨ÖеĴúÂë¿é¡£
È磺
public class Ex22 {
public static void main(String[] args){
// ÆÕͨ´úÂë¿é
{
int i = 3;
System ......
JavaÌṩÁËÒ»Ì×»úÖÆÀ´¶¯Ì¬Ö´Ðз½·¨ºÍ¹¹Ôì·½·¨£¬ÒÔ¼°Êý×é²Ù×÷µÈ£¬ÕâÌ×»úÖÆ¾Í½Ð——·´Éä¡£·´Éä»úÖÆÊÇÈç½ñºÜ¶àÁ÷Ðпò¼ÜµÄʵÏÖ»ù´¡£¬ÆäÖаüÀ¨Spring¡¢HibernateµÈ¡£ÔÀíÐÔµÄÎÊÌâ²»ÊDZ¾ÎĵÄÖØµã£¬½ÓÏÂÀ´ÈÃÎÒÃÇÔÚʵÀýÖÐѧϰÕâÌ×¾«²ÊµÄ»úÖÆ¡£
1. µÃµ½Ä³¸ö¶ÔÏóµÄÊôÐÔ
public Object getProperty(Object owner, String f ......
JAVAÓïÑԵķ¢Õ¹Ê·
1991Ä꣬Sun¹«Ë¾ÎªÄܹ»ÔÚÏû·Ñµç×Ó²úÆ·ÉÏ¿ª·¢Ó¦ÓóÌÐò£¬Ñ°ÕÒºÏÊʵıà³ÌÓïÑÔ
Ïû·Ñµç×Ó²úÆ·ÖÖÀà·±¶à£¬´¦ÀíоƬºÍ²Ù×÷ϵͳҲ²»Ïàͬ£¬´æÔÚ×Å¿çÆ½Ì¨µÄÎÊÌâ
C++¹ýÓÚ¸´ÔÓºÍÅӴ󣬰²È«ÐÔÒ²²¢²»ÁîÈËÂúÒâ¡£ÓÚÊǾÍ×ÅÊÖÉè¼ÆºÍ¿ª·¢³öÒ»ÖÖÓïÑÔ£¬³ÆÖ®ÎªOak
OakÓïÑÔÔÚÉÌÒµÉϲ¢Î´»ñµÃ³É¹¦
¶«·½²»ÁÁÎ÷·½ÁÁ
1995Ä꣬» ......
ÔÚÍøÉÏÕÒÁ˼¸¸öÓÃjava»ñÈ¡±¾»úIPµØÖ·µÄ´úÂ룬·¢ÏÖ¶¼ÉÙ¶¼ÓÐЩ²»ÍêÃÀ£¬×Ô¼ºÕûÀíÁËÒ»ÏÂ.ͻȻ֮¼äºÜÏë°Ñ×Ô¼ºµÄIPµØÖ·¸ø»ñÈ¡ÁË£¬ËäÈ»ÓÃϵͳ×Ô´øÃüÁî¿ÉÒԵõ½£¬µ«×Ô¼ºÏëдһ¸ö³ÌÐò»ñȡһÏ£¬µ½ÍøÉÏËÑË÷ÁËÒ»ÏÂjava»ñÈ¡±¾»úIPµØÖ·µÄ·½·¨£¬½á¹û¾ÓÈ»·¢ÏÖûÓÐÒ»¸öÊÇ¿ÉÒÔÓõ쬯øµÄÎÒÀÏÈ˼ÒÍÂѪ£¬
ÕâЩÈ˱Õ×ÅÑÛ¾¦Ð´³ÌÐò£¬Ð´ÍêÁ˾ÍÍùÍøÉ ......
JavaµÚÈý·½library ecosystemÊÇÒ»¸öºÜ¹ãÀ«µÄ·¶³ë¡£²»¾ÃǰÓÐÈË׫ÎÄ£ºÃ¿¸öÏîÄ¿ÖУ¬Äã±ØÐëÖªµÀµÄ11¸öJavaµÚÈý·½Àà¿â¡£
µ¥Ôª²âÊÔ
1.DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд³ö ......