{"id":1379,"date":"2022-11-01T22:59:26","date_gmt":"2022-11-01T14:59:26","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1379"},"modified":"2022-11-27T12:39:45","modified_gmt":"2022-11-27T04:39:45","slug":"%e5%8f%8d%e5%b0%84-%e8%8e%b7%e5%8f%96%e8%bf%90%e8%a1%8c%e6%97%b6%e7%b1%bb%e7%9a%84%e5%b1%9e%e6%80%a7%e7%bb%93%e6%9e%84%e5%8f%8a%e5%85%b6%e5%86%85%e9%83%a8%e7%bb%93%e6%9e%84","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1379","title":{"rendered":"\u53cd\u5c04-\u83b7\u53d6\u8fd0\u884c\u65f6\u7c7b\u7684\u65b9\u6cd5\u7ed3\u6784\u3001\u83b7\u53d6\u8fd0\u884c\u65f6\u7c7b\u7684\u65b9\u6cd5\u7684\u5185\u90e8\u7ed3\u6784"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P651;\r\n\r\nimport org.junit.jupiter.api.Test;\r\nimport top.qaqaq.java.P649.Person;\r\n\r\nimport java.lang.annotation.Annotation;\r\nimport java.lang.reflect.Method;\r\nimport java.lang.reflect.Modifier;\r\n\r\n\/**\r\n * \u83b7\u53d6\u8fd0\u884c\u65f6\u7c7b\u7684\u65b9\u6cd5\u7ed3\u6784\r\n *\r\n * @author RichieZhang\r\n * @create 2022-11-01 \u4e0b\u5348 8:31\r\n *\/\r\npublic class MethodTest {\r\n\r\n    @Test\r\n    public void test1() {\r\n\r\n        Class clazz = Person.class;\r\n\r\n        \/\/getMethods(): \u83b7\u53d6\u5f53\u524d\u8fd0\u884c\u65f6\u7c7b\u53ca\u5176\u6240\u6709\u7236\u7c7b\u4e2d\u58f0\u660e\u4e3apublic\u6743\u9650\u7684\u65b9\u6cd5\r\n        Method&#91;] methods = clazz.getMethods();\r\n        for (Method m : methods) {\r\n            System.out.println(m);\r\n        }\r\n\r\n        System.out.println();\r\n\r\n        \/\/getDeclaredMethods(): \u83b7\u53d6\u5f53\u524d\u8fd0\u884c\u65f6\u7c7b\u4e2d\u58f0\u660e\u7684\u6240\u6709\u65b9\u6cd5\u3002\uff08\u4e0d\u5305\u542b\u7236\u7c7b\u4e2d\u58f0\u660e\u7684\u65b9\u6cd5\uff09\r\n        Method&#91;] declaredMethods = clazz.getDeclaredMethods();\r\n        for (Method m : declaredMethods) {\r\n            System.out.println(m);\r\n        }\r\n    }\r\n\r\n    \/*\r\n    @Xxxx\r\n    \u6743\u9650\u4fee\u9970\u7b26 \u8fd4\u56de\u503c\u7c7b\u578b \u65b9\u6cd5\u540d(\u53c2\u6570\u7c7b\u578b1 \u5f62\u53c2\u540d1,...) throws XxxException{}\r\n     *\/\r\n    @Test\r\n    public void test2() {\r\n\r\n        Class clazz = Person.class;\r\n        Method&#91;] declaredMethods = clazz.getDeclaredMethods();\r\n        for (Method m : declaredMethods) {\r\n            \/\/1. \u83b7\u53d6\u65b9\u6cd5\u58f0\u660e\u7684\u6ce8\u89e3\r\n            Annotation&#91;] annos = m.getAnnotations();\r\n            for (Annotation a : annos) {\r\n                System.out.println(a);\r\n            }\r\n\r\n            \/\/2. \u6743\u9650\u4fee\u9970\u7b26\r\n            System.out.print(Modifier.toString(m.getModifiers()) + \"\\t\");\r\n\r\n            \/\/3. \u8fd4\u56de\u503c\u7c7b\u578b\r\n            System.out.print(m.getReturnType().getName() + \"\\t\");\r\n\r\n            \/\/4. \u65b9\u6cd5\u540d\r\n            System.out.print(m.getName());\r\n            System.out.print(\"(\");\r\n\r\n            \/\/5. \u5f62\u53c2\u5217\u8868\r\n            Class&#91;] parameterTypes = m.getParameterTypes();\r\n            if (!(parameterTypes == null &amp;&amp; parameterTypes.length == 0)) {\r\n                for (int i = 0; i &lt; parameterTypes.length; i++) {\r\n\r\n                    if (i == parameterTypes.length - 1) {\r\n                        System.out.print(parameterTypes&#91;i].getName() + \"args_\" + i);\r\n                        break;\r\n                    }\r\n\r\n                    System.out.print(parameterTypes&#91;i].getName() + \"args_\" + i + \",\");\r\n                }\r\n            }\r\n            System.out.print(\")\");\r\n\r\n            \/\/6. \u629b\u51fa\u7684\u5f02\u5e38\r\n            Class&#91;] exceptionTypes = m.getExceptionTypes();\r\n\/\/            if (!(exceptionTypes == null || exceptionTypes.length == 0)){\r\n\/\/                System.out.print(\"throws \");\r\n\/\/                for (int i = 0; i &lt; exceptionTypes.length; i++){\r\n\/\/\r\n\/\/                    if (i == exceptionTypes.length - 1){\r\n\/\/                        System.out.print(exceptionTypes&#91;i].getName());\r\n\/\/                        break;\r\n\/\/                    }\r\n\/\/\r\n\/\/                    System.out.print(exceptionTypes&#91;i].getName() + \",\");\r\n\/\/                }\r\n\/\/            }\r\n            if (exceptionTypes.length > 0){\r\n                System.out.print(\"throws \");\r\n                for (int i = 0; i &lt; exceptionTypes.length; i++) {\r\n\r\n                    if (i == exceptionTypes.length - 1) {\r\n                        System.out.print(exceptionTypes&#91;i].getName());\r\n                        break;\r\n                    }\r\n\r\n                    System.out.print(exceptionTypes&#91;i].getName() + \",\");\r\n                }\r\n            }\r\n\r\n            System.out.println();\r\n\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[46],"class_list":["post-1379","post","type-post","status-publish","format-standard","hentry","category-java-code","tag-java"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1379"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1379"}],"version-history":[{"count":2,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1379\/revisions"}],"predecessor-version":[{"id":1382,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1379\/revisions\/1382"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}