See More

--------------------- java.reflect.Method | --------------------- --------------------- ʵÀý·½·¨ | --------------------- invoke(Object obj,Object value...); * ÒÔ·´ÉäµÄ·½·¨Ö´Ðз½·¨¶ÔÏó,µÚÒ»¸ö²ÎÊý±íʾÊÇÄĸö¶ÔÏóµÄ´Ë·½·¨,µÚ¶þ¸ö²ÎÊý±íʾ·½·¨²ÎÊý,Èç¹ûûÓÐÖ±½ÓÎÞÊÓ¼´¿É getAnnotation(Class annotationClass) * Èç¹û´æÔÚ¸ÃÔªËØµÄÖ¸¶¨ÀàÐ͵Ä×¢ÊÍ£¬Ôò·µ»ØÕâЩעÊÍ£¬·ñÔò·µ»Ø null¡£ Annotation[] getDeclaredAnnotations(); * »ñÈ¡¸Ã·½·¨ËùÓеÄ×¢½â boolean isAnnotationPresent(Class extends Annotation> annotationClass); * ÅжÏÊÇ·ñÓÐÖ¸¶¨ÀàÐ͵Ä×¢½â±êʶÔڸ÷½·¨ int getModifiers() * ·µ»ØÈ¨ÏÞÐÞÊεıíʾÊýÖµ(public,private,native,final....) Class> getReturnType() * ·µ»Ø return µÄClassÀàÀàÐÍ boolean isBridge() * ÊÇ·ñÊÇ·ºÐÍÇŽӷ½·¨ * ÇŽӷ½·¨ÊÇ JDK 1.5 ÒýÈë·ºÐͺó,ΪÁËʹJavaµÄ·ºÐÍ·½·¨Éú³ÉµÄ×Ö½ÚÂëºÍ 1.5 °æ±¾Ç°µÄ×Ö½ÚÂëÏà¼æÈÝ * ÓɱàÒëÆ÷×Ô¶¯Éú³ÉµÄ·½·¨ interface Parent { void foo(T t); } class Sub implements Parent { @Override public void foo(String s) { System.out.println(s); } // JVM±àÒëÆ÷Éú³ÉµÄÇŽӷ½·¨ // public void foo(Object s) { // this.foo((String) s); // } } Method bridgeMethod = Sub.class.getMethod("foo",Object.class); System.out.println(bridgeMethod.isBridge()); // true Method method = Sub.class.getMethod("foo",String.class); System.out.println(method.isBridge()); // false