Java·´Éä¾µäʵÀý Java Reflection Cookbook (ת)
JavaÌṩÁËÒ»Ì×»úÖÆÀ´¶¯Ì¬Ö´Ðз½·¨ºÍ¹¹Ôì·½·¨£¬ÒÔ¼°Êý×é²Ù×÷µÈ£¬ÕâÌ×»úÖÆ¾Í½Ð——·´Éä¡£·´Éä»úÖÆÊÇÈç½ñºÜ¶àÁ÷Ðпò¼ÜµÄʵÏÖ»ù´¡£¬ÆäÖаüÀ¨Spring¡¢HibernateµÈ¡£ÔÀíÐÔµÄÎÊÌâ²»ÊDZ¾ÎĵÄÖØµã£¬½ÓÏÂÀ´ÈÃÎÒÃÇÔÚʵÀýÖÐѧϰÕâÌ×¾«²ÊµÄ»úÖÆ¡£
1. µÃµ½Ä³¸ö¶ÔÏóµÄÊôÐÔ
1 public Object getProperty(Object owner, String fieldName) throws Exception {
2 Class ownerClass = owner.getClass();
3
4 Field field = ownerClass.getField(fieldName);
5
6 Object property = field.get(owner);
7
8 return property;
9 }
Class ownerClass = owner.getClass()£ºµÃµ½¸Ã¶ÔÏóµÄClass¡£
Field field = ownerClass.getField(fieldName)£ºÍ¨¹ýClassµÃµ½ÀàÉùÃ÷µÄÊôÐÔ¡£
Object property = field.get(owner)£ºÍ¨¹ý¶ÔÏóµÃµ½¸ÃÊôÐÔµÄʵÀý£¬Èç¹ûÕâ¸öÊôÐÔÊǷǹ«Óеģ¬ÕâÀï»á±¨IllegalAccessException¡£
2. µÃµ½Ä³¸öÀàµÄ¾²Ì¬ÊôÐÔ
1 public Object getStaticProperty(String className, String fieldName)
2 throws Exception {
3 Class ownerClass = Class.forName(className);
4
5 Field field = ownerClass.getField(fieldName);
6
7 Object property = field.get(ownerClass);
8
9 return property;
10 }
Class ownerClass = Class.forName(className) £ºÊ×Ïȵõ½Õâ¸öÀàµÄClass¡£
Field field = ownerClass.getField(fieldName)£ººÍÉÏÃæÒ»Ñù£¬Í¨¹ýClassµÃµ½ÀàÉùÃ÷µÄÊôÐÔ¡£
Object property = field.get(ownerClass) £ºÕâÀïºÍÉÏÃæÓÐЩ²»Í¬£¬ÒòΪ¸ÃÊôÐÔÊǾ²Ì¬µÄ£¬ËùÒÔÖ±½Ó´ÓÀàµÄClassÀïÈ¡¡£
3. Ö´ÐÐij¶ÔÏóµÄ·½·¨
1 public Object invokeMethod(Object owner, Str
Ïà¹ØÎĵµ£º
public class Base64 {
//Âë±í
static private char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
.toCharArray();
&nb ......
±¾ÎÄÔÖ·£ºhttp://www.hbzxr.com/web/36/2027736-1138928.html
java thisºÍsuper¹Ø¼ü×Ö ÓÐʲô×÷ÓóÉÔ±º¯ÊýÖж¨ÒåÁ˺ͳÉÔ±±äÁ¿ÖÐÏàͬµÄ±äÁ¿Ê±£¬ÒýÓóÉÔ±±äÁ¿ÒªÓÃthis. ¹¹Ô캯ÊýÖе÷ÓÃͬһ¸öÀàµÄÆäËû¹¹Ô캯ÊýʱÓÃthis ×ÓÀàÖи²¸ÇÁËÓÚ¸¸Àà³ÉÔ±±äÁ¿»ò³ÉÔ±º¯Êýʱ£¬ÔÚ×ÓÀàÖе÷Óø¸ÀàµÄ±äÁ¿»òº¯ÊýÒªÓÃsuper ×ÓÀàµÄ¹¹Ô캯 ......
1 ¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
1.³éÏó£º
³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀൠ......
Ò». stream
´ú±íµÄÊÇÈκÎÓÐÄÜÁ¦²ú³öÊý¾ÝµÄÊý¾ÝÔ´£¬»òÊÇÈκÎÓÐÄÜÁ¦½ÓÊÕÊý¾ÝµÄ½ÓÊÕÔ´¡£ÔÚJavaµÄIOÖУ¬ËùÓеÄstream£¨°üÀ¨InputºÍOut stream£©¶¼°üÀ¨Á½ÖÖÀàÐÍ£º
1 ÒÔ×Ö½ÚΪµ¼ÏòµÄstream
ÒÔ×Ö½ÚΪµ¼ÏòµÄstream£¬±íʾÒÔ×Ö½ÚΪµ¥Î»´ÓstreamÖжÁÈ¡»òÍùstreamÖÐдÈëÐÅÏ¢¡£ÒÔ×Ö½ÚΪµ¼ÏòµÄstream°üÀ¨ÏÂÃæ¼¸ÖÖÀàÐÍ£º
Input s ......