{"id":5510,"date":"2024-04-14T15:35:50","date_gmt":"2024-04-14T07:35:50","guid":{"rendered":"http:\/\/zyg.luchers.cn\/?p=5510"},"modified":"2024-04-14T15:35:50","modified_gmt":"2024-04-14T07:35:50","slug":"%e5%8f%8d%e5%b0%84%e3%80%90%e5%8f%8d%e5%b0%84%e6%9c%ba%e5%88%b6%e3%80%81class%e7%b1%bb%e3%80%81class%e5%ba%94%e7%94%a8%e3%80%91","status":"publish","type":"post","link":"http:\/\/zyg.luchers.cn\/index.php\/2024\/04\/14\/%e5%8f%8d%e5%b0%84%e3%80%90%e5%8f%8d%e5%b0%84%e6%9c%ba%e5%88%b6%e3%80%81class%e7%b1%bb%e3%80%81class%e5%ba%94%e7%94%a8%e3%80%91\/","title":{"rendered":"\u53cd\u5c04\u3010\u53cd\u5c04\u673a\u5236\u3001Class\u7c7b\u3001Class\u5e94\u7528\u3011"},"content":{"rendered":"<h1>\u7b2c\u4e8c\u5341\u4e09\u7ae0\u3001\u53cd\u5c04<\/h1>\n<h2>\u8865\u5145\u52a8\u6001\u8bed\u8a00\u548c\u9759\u6001\u8bed\u8a00\u533a\u522b<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20221230195449148-300x203.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20221230195449148-300x203.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<h2>1\u3001\u53cd\u5c04\u673a\u5236<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20221230195449148.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20221230195449148.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20221230195449148\" \/><\/div><\/p>\n<h3>1.1java\u53cd\u5c04\u673a\u5236\u793a\u610f\u56fe<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230101115659258.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230101115659258.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230101115659258\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102111036002.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102111036002.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102111036002\" \/><\/div><\/p>\n<h3>1.2\u3001Java\u53cd\u5c04\u673a\u5236\u53ef\u4ee5\u5b8c\u6210<\/h3>\n<p>1\u3001\u5728\u8fd0\u884c\u65f6\u5224\u65ad\u4efb\u610f\u4e00\u4e2a\u5bf9\u8c61\u6240\u5c5e\u7684\u7c7b<\/p>\n<p>2\u3001\u5728\u8fd0\u884c\u65f6\u6784\u9020\uff08\u521b\u5efa\uff09\u4efb\u610f\u4e00\u4e2a\u7c7b\u7684\u5bf9\u8c61<\/p>\n<p>3\u3001\u5728\u8fd0\u884c\u65f6\u5f97\u5230\u4efb\u610f\u4e00\u4e2a\u7c7b\u6240\u5177\u6709\u7684\u6210\u5458\u53d8\u91cf\u548c\u65b9\u6cd5<\/p>\n<p>4\u3001\u5728\u8fd0\u884c\u65f6\u8c03\u7528\u4efb\u610f\u4e00\u4e2a\u5bf9\u8c61\u7684\u6210\u5458\u53d8\u91cf\u548c\u65b9\u6cd5<\/p>\n<p>5\u3001\u751f\u6210\u52a8\u6001\u4ee3\u7406<\/p>\n<h3>1.2\u3001java\u53cd\u5c04\u7684\u4f18\u7f3a\u70b9<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102111312839.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102111312839.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102111312839\" \/><\/div><\/p>\n<h3>1.3\u3001\u53cd\u5c04\u76f8\u5173\u7684\u4e3b\u8981\u7c7b<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230101120545680.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230101120545680.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230101120545680\" \/><\/div><\/p>\n<h2>2\u3001Class\u7c7b<\/h2>\n<h3>2.1\u3001\u4ecb\u7ecd<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102112506717.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102112506717.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102112506717\" \/><\/div><\/p>\n<h3>2.2\u3001Class\u7c7b\u7684\u5e38\u7528\u65b9\u6cd5<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102112619433.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102112619433.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102112619433\" \/><\/div><\/p>\n<h3>2.3\u3001\u83b7\u53d6Class\u7684\u5b9e\u4f8b<\/h3>\n<p>1\u3001\u5185\u5bb9<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102115018495.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102115018495.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102115018495\" \/><\/div><\/p>\n<p>2\u3001\u4f8b\u5b50<\/p>\n<pre><code class=\"language-java\">package reflection;\n\npublic class Test03 {\n    public static void main(String [] args) throws ClassNotFoundException {\n        Persion persion = new Student();\n        System.out.println(&quot;\u8fd9\u4e2a\u4eba\u662f\uff1a&quot;+persion.name);\n\n\/\/        \u65b9\u5f0f\u4e00\u901a\u8fc7\u5bf9\u8c61\u83b7\u5f97\n        Class c1 = persion.getClass();\n        System.out.println(c1.hashCode());\n\/\/        \u65b9\u5f0f\u4e8cfroname\u83b7\u5f97\n        Class c2  = Class.forName(&quot;reflection.Student&quot;);\n        System.out.println(c2.hashCode());\n\/\/        \u65b9\u5f0f\u4e09\u3001\u901a\u8fc7\u7c7b\u540d.class\u83b7\u5f97\n        Class c3 = Student.class;\n        System.out.println(c3.hashCode());\n\n\/\/        \u83b7\u53d6\u7236\u7c7b\u7c7b\u578b\n        Class c4 = c1.getSuperclass();\n        System.out.println(c4);\n\/\/        \u57fa\u672c\u5185\u7f6e\u7c7b\u578b\u90fd\u4f1a\u6709\u4e00\u4e2a\n        Class [] c5 =c1.getInterfaces();\n        System.out.println(c5);\n    }\n}\nclass Persion{\n    public String name;\n    public int age;    \n}\nclass Student extends Persion {\n    public Student() {\n        this.name = &quot;\u6211\u662f\u4e2a\u5b66\u751f&quot;;\n    }\n}\nclass Teacher extends Persion{\n    public Teacher() {\n        this.name =&quot;\u6211\u662f\u4e2a\u8001\u5e08&quot;;\n    }\n}<\/code><\/pre>\n<h3>2.4\u3001\u54ea\u4e9b\u7c7b\u578b\u53ef\u4ee5\u6709Class\u5bf9\u8c61<\/h3>\n<p>1\u3001\u5185\u5bb9<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102115351368.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102115351368.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102115351368\" \/><\/div><\/p>\n<p>2\u3001\u4f8b\u5b50<\/p>\n<pre><code class=\"language-java\">        Class c1 = Object.class;\/\/\u7c7b\n        Class c2 = Comparable.class;\/\/\u63a5\u53e3\n        Class c3 = String [].class;\/\/\u4e00\u7ef4\u6570\u7ec4\n        Class c4 = int[][].class;\/\/\u4e8c\u7ef4\u6570\u7ec4\n        Class c5 = Override.class;\/\/\u6ce8\u89e3\n        Class c6 = ElementType.class;\/\/\u679a\u4e3e\n        Class c7 = Integer.class;\/\/\u57fa\u672c\u6570\u636e\u7c7b\u578b\n        Class c8 = void.class;\/\/\u65b9\u6cd5\n        Class c9 = Class.class;\/\/\u7c7b\n\n        System.out.println(c1);\n        System.out.println(c2);\n        System.out.println(c3);\n        System.out.println(c4);\n        System.out.println(c5);\n        System.out.println(c6);\n        System.out.println(c7);\n        System.out.println(c8);\n        System.out.println(c9);\n\/\/\u53ea\u8981\u5143\u7d20\u7c7b\u578b\u4e0e\u7ef4\u5ea6\u4e00\u6837\uff0c\u5c31\u662f\u540c\u4e00\u4e2aclass\n        int [] a = new  int [10];\n        int [] b = new int [10000];\n        System.out.println(a.getClass().hashCode());\n        System.out.println(b.getClass().hashCode());\n\u7ed3\u679c\n    \/**\nclass java.lang.Object\ninterface java.lang.Comparable\nclass [Ljava.lang.String;\nclass [[I\ninterface java.lang.Override\nclass java.lang.annotation.ElementType\nclass java.lang.Integer\nvoid\nclass java.lang.Class\n366712642\n366712642 *\/\/<\/code><\/pre>\n<h3>2.5\u3001java\u4e2d\u5185\u5b58\u5206\u6790<\/h3>\n<h4>1\u3001\u56fe\u89e3<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102120725147.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102120725147.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102120725147\" \/><\/div><\/p>\n<h4>2\u3001\u7c7b\u52a0\u8f7d\u7684\u8fc7\u7a0b<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102121110277.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102121110277.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102121110277\" \/><\/div><\/p>\n<h4>3\u3001\u7c7b\u7684\u52a0\u8f7d\u4e0eClassLoaderd\u7684\u7406\u89e3<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102121222798.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230102121222798.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230102121222798\" \/><\/div><\/p>\n<h4>4\u3001\u4ec0\u4e48\u65f6\u5019\u4f1a\u53d1\u751f\u7c7b\u7684\u521d\u59cb\u5316<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103193133577.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103193133577.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103193133577\" \/><\/div><\/p>\n<h3>2.6\u3001\u7c7b\u52a0\u8f7d\u5668<\/h3>\n<h4>1\u3001\u4f5c\u7528<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='C:\\study\\TyporaStudyNotes\\img\\image-20230103200459619.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"C:\\study\\TyporaStudyNotes\\img\\image-20230103200459619.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103200459619\" \/><\/div><\/p>\n<h4>2\u3001\u7c7b\u52a0\u8f7d\u5668\u7684\u4e2a\u6570<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103201948315.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103201948315.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103201948315\" \/><\/div><\/p>\n<h3>2.7\u3001\u83b7\u53d6\u8fd0\u884c\u65f6\u7c7b\u7684\u5b8c\u6574\u5f62\u5f0f<\/h3>\n<pre><code class=\"language-java\">package reflection;\n\nimport java.lang.reflect.Constructor;\nimport java.lang.reflect.Field;\nimport java.lang.reflect.Method;\n\npublic class Test08 {\n    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException {\n\/\/        \u83b7\u53d6\u7c7b\u7684\u540d\u5b57\n        Class c1 = Class.forName(&quot;reflection.User&quot;);\n        System.out.println(c1.getName());\n        System.out.println(c1.getSimpleName());\n\n\/\/        \u83b7\u53d6\u7c7b\u7684\u5c5e\u6027\n        Field[] fields = c1.getFields();\/\/\u53ea\u80fd\u627e\u5230\u516c\u5171\u7684\u7c7bpublic\n\n        fields = c1.getDeclaredFields();\/\/\u627e\u5230\u5168\u90e8\u7684\u5c5e\u6027\n        for (Field field:fields) {\n            System.out.println(field);\n\n        }\n\n\/\/        \u83b7\u53d6\u6307\u5b9a\u5c5e\u6027\u7684\u503c\n        Field name = c1.getDeclaredField(&quot;name&quot;);\n        System.out.println(name);\n\n\/\/        \u83b7\u53d6\u7c7b\u7684\u65b9\u6cd5\n        System.out.println(&quot;================&quot;);\n        Method [] methods = c1.getMethods();\/\/\u83b7\u53d6\u6240\u6709\u7c7b\u7684\u65b9\u6cd5\n        for (Method method : methods) {\n            System.out.println(&quot;\u6b63\u5e38\u7684\uff1a&quot;+method);\n        }\n        methods = c1.getDeclaredMethods();\/\/\u83b7\u5f97\u672c\u7c7b\u7684\u6240\u6709\u65b9\u6cd5\n        for (Method method : methods) {\n            System.out.println(&quot;DeclaredMethods\uff1a&quot;+method);\n        }\n\n\/\/        \u83b7\u53d6\u6307\u5b9a\u5c5e\u6027\u7684\u503c\n        Field name1 = c1.getDeclaredField(&quot;name&quot;);\n        System.out.println(name);\n\n\/\/        \u83b7\u53d6\u7c7b\u7684\u6307\u5b9a\u65b9\u6cd5\n        System.out.println(&quot;================&quot;);\n        Method getName = c1.getMethod(&quot;getName&quot;,null);\n        Method setName = c1.getMethod(&quot;setName&quot;, String.class);\n        System.out.println(getName);\n        System.out.println(setName);\n\n\/\/        \u83b7\u53d6\u5168\u90e8\u6784\u9020\u5668\n        System.out.println(&quot;================&quot;);\n        Constructor[] constructors = c1.getConstructors();\n        for (Constructor constructor : constructors) {\n            System.out.println(constructor);\n        }\n        constructors = c1.getDeclaredConstructors();\n        for (Constructor constructor : constructors) {\n            System.out.println(&quot;\u533a\u5206&quot;+constructor);\n        }\n\n\/\/        \u83b7\u53d6\u6307\u5b9a\u7684\u6784\u9020\u5668\n        Constructor declaredConstructor = c1.getDeclaredConstructor(String.class,int.class,int.class);\n        System.out.println(&quot;\u6307\u5b9a\uff1a&quot;+declaredConstructor);\n\n    }\n}\n\/**\n\u7ed3\u679c\n&quot;C:\\Program Files\\Java\\jdk1.8.0_351\\bin\\java.exe&quot; &quot;-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2021.2\\lib\\idea_rt.jar=1904:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2021.2\\bin&quot; -Dfile.encoding=UTF-8 -classpath &quot;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\charsets.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\deploy.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\access-bridge-64.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\cldrdata.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\dnsns.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\jaccess.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\jfxrt.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\localedata.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\nashorn.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\sunec.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\sunjce_provider.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\sunmscapi.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\sunpkcs11.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\ext\\zipfs.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\javaws.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\jce.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\jfr.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\jfxswt.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\jsse.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\management-agent.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\plugin.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\resources.jar;C:\\Program Files\\Java\\jdk1.8.0_351\\jre\\lib\\rt.jar;C:\\Users\\qt\\IdeaProjects\\chapter21\\out\\production\\chapter21&quot; reflection.Test08\nreflection.User\nUser\nprivate java.lang.String reflection.User.name\nprivate int reflection.User.id\nprivate int reflection.User.age\nprivate java.lang.String reflection.User.name\n================\n\u6b63\u5e38\u7684\uff1apublic java.lang.String reflection.User.getName()\n\u6b63\u5e38\u7684\uff1apublic int reflection.User.getId()\n\u6b63\u5e38\u7684\uff1apublic void reflection.User.setName(java.lang.String)\n\u6b63\u5e38\u7684\uff1apublic void reflection.User.setId(int)\n\u6b63\u5e38\u7684\uff1apublic void reflection.User.setAge(int)\n\u6b63\u5e38\u7684\uff1apublic int reflection.User.getAge()\n\u6b63\u5e38\u7684\uff1apublic final void java.lang.Object.wait() throws java.lang.InterruptedException\n\u6b63\u5e38\u7684\uff1apublic final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException\n\u6b63\u5e38\u7684\uff1apublic final native void java.lang.Object.wait(long) throws java.lang.InterruptedException\n\u6b63\u5e38\u7684\uff1apublic boolean java.lang.Object.equals(java.lang.Object)\n\u6b63\u5e38\u7684\uff1apublic java.lang.String java.lang.Object.toString()\n\u6b63\u5e38\u7684\uff1apublic native int java.lang.Object.hashCode()\n\u6b63\u5e38\u7684\uff1apublic final native java.lang.Class java.lang.Object.getClass()\n\u6b63\u5e38\u7684\uff1apublic final native void java.lang.Object.notify()\n\u6b63\u5e38\u7684\uff1apublic final native void java.lang.Object.notifyAll()\nDeclaredMethods\uff1apublic java.lang.String reflection.User.getName()\nDeclaredMethods\uff1apublic int reflection.User.getId()\nDeclaredMethods\uff1apublic void reflection.User.setName(java.lang.String)\nDeclaredMethods\uff1apublic void reflection.User.setId(int)\nDeclaredMethods\uff1apublic void reflection.User.setAge(int)\nDeclaredMethods\uff1apublic int reflection.User.getAge()\nprivate java.lang.String reflection.User.name\n================\npublic java.lang.String reflection.User.getName()\npublic void reflection.User.setName(java.lang.String)\n================\npublic reflection.User(java.lang.String,int,int)\n\u533a\u5206public reflection.User(java.lang.String,int,int)\n\u6307\u5b9a\uff1apublic reflection.User(java.lang.String,int,int)\n\nProcess finished with exit code 0\n*\/\/<\/code><\/pre>\n<h2>3\u3001class\u5e94\u7528<\/h2>\n<h3>3.1\u3001\u6709\u4e86class\u6709\u5565\u7528<\/h3>\n<p>1\u3001\u4f5c\u7528<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214517821.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214517821.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103214517821\" \/><\/div><\/p>\n<h3>3.2\u3001\u8c03\u7528\u6307\u5b9a\u7684\u65b9\u6cd5<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214641549.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214641549.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103214641549\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214701307.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214701307.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103214701307\" \/><\/div><\/p>\n<h3>3.3\u3001setAccessible\uff1a\u5b89\u5168\u8bbf\u95ee\u673a\u5236<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214738476.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230103214738476.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230103214738476\" \/><\/div><\/p>\n<h3>3.4\u3001\u53cd\u5c04\u5b9e\u4f8b\uff08\u57fa\u7840\u64cd\u4f5c\uff09<\/h3>\n<pre><code>package reflection;\n\nimport java.lang.reflect.Constructor;\nimport java.lang.reflect.Field;\nimport java.lang.reflect.InvocationTargetException;\nimport java.lang.reflect.Method;\n\npublic class Test09 {\n    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, NoSuchFieldException {\n\/\/        \u901a\u8fc7\u6784\u9020\u5668\u521b\u5efa\u5bf9\u8c61\n        Class c1 = Class.forName(&quot;reflection.User&quot;);\n        Constructor constructor = c1.getDeclaredConstructor(String.class,int.class,int.class);\n        User user2 = (User) constructor.newInstance(&quot;\u79e6\u6d9b&quot;,001,18 );\n        System.out.println(user2);\n\/\/        \u901a\u8fc7\u53cd\u5c04\u8c03\u7528\u666e\u901a\u65b9\u6cd5\n        User user3 = (User) c1.newInstance();\n\/\/        \u901a\u8fc7\u53cd\u5c04\u83b7\u53d6\u4e00\u4e2a\u65b9\u6cd5\n        Method setName = c1.getDeclaredMethod(&quot;setName&quot;,String.class);\n\/\/        invoke\uff1a\u662f\u8c03\u7528\u3001\u6fc0\u6d3b\u7684\u610f\u601d\n        setName.invoke(user3,&quot;\u79e6\u6d9b&quot;);\n        System.out.println(user3.getName());\n        System.out.println(&quot;99999999999999999999999999999999999999999999999999999999&quot;);\n\/\/        \u901a\u8fc7\u53cd\u5c04\u64cd\u4f5c\u5c5e\u6027\n        User user4 = (User) c1.newInstance();\n        Field name = c1.getDeclaredField(&quot;name&quot;);\n        name.setAccessible(true);\n        name.set(user4,&quot;\u79e6\u6d9b111111&quot;);\n        System.out.println(user4.getName());\n\n\/\/\n\n    }\n}<\/code><\/pre>\n<h3>3.5\u3001\u53cd\u5c04\u6027\u80fd\u5bf9\u6bd4<\/h3>\n<h4>1\u3001\u6392\u884c<\/h4>\n<p>1\u3001\u666e\u901a\u65b9\u6cd5&gt;\u53cd\u5c04\u8c03\u7528(\u5173\u95ed\u5b89\u5168\u68c0\u6d4b)&gt;\u53cd\u5c04\u8c03\u7528<\/p>\n<h4>2\u3001\u4f8b\u5b50<\/h4>\n<pre><code class=\"language-java\">package reflection;\n\nimport java.lang.reflect.InvocationTargetException;\nimport java.lang.reflect.Method;\n\npublic class Test10 {\n\n\/\/    \u666e\u901a\u8c03\u7528\u6d4b\u8bd5\u65f6\u95f4\n    public static void test01(){\n        User user = new User();\n\n        long startTime = System.currentTimeMillis();\n        for(int i =0;i&lt;1000000000;i++){\n            user.getName();\n        }\n        long endTime  = System.currentTimeMillis();\n        System.out.println(&quot;\u666e\u901a\u65b9\u6cd5\u8c03\u7528\u8dd1\u4e86\uff1a&quot;+(endTime-startTime)+&quot;ms&quot;);\n\n    }\n\n\/\/    \u53cd\u5c04\u8fdb\u884c\u65b9\u6cd5\u8c03\u7528\u6d4b\u8bd5\u65f6\u95f4\n    public static void test02() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {\n        User user = new User();\n        Class c1 = user.getClass();\n        Method getName =  c1.getDeclaredMethod(&quot;getName&quot;,null);\n\n        long startTime = System.currentTimeMillis();\n        for(int i =0;i&lt;1000000000;i++){\n            getName.invoke(user,null);\n        }\n        long endTime  = System.currentTimeMillis();\n        System.out.println(&quot;\u53cd\u5c04\u65b9\u6cd5\u8c03\u7528\u5bf9\u8c61\u8dd1\u4e86\uff1a&quot;+(endTime-startTime)+&quot;ms&quot;);\n\n    }\n    \/\/\u53cd\u5c04\u5173\u95ed\u5b89\u5168\u68c0\u6d4b\u8fdb\u884c\u6d4b\u8bd5\u65f6\u95f4\n    public static void test03() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {\n        User user = new User();\n        Class c1 = user.getClass();\n        Method getName =  c1.getDeclaredMethod(&quot;getName&quot;,null);\n        getName.setAccessible(true);\n        long startTime = System.currentTimeMillis();\n        for(int i =0;i&lt;1000000000;i++){\n            getName.invoke(user,null);\n        }\n        long endTime  = System.currentTimeMillis();\n        System.out.println(&quot;\u53cd\u5c04\u5173\u95ed\u5b89\u5168\u68c0\u6d4b\u8c03\u7528\u5bf9\u8c61\u8dd1\u4e86\uff1a&quot;+(endTime-startTime)+&quot;ms&quot;);\n\n    }\n\n    public static void main(String[] args) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException {\n        test01();\n        test02();\n        test03();\n    }\n}<\/code><\/pre>\n<h3>3.6\u3001\u53cd\u5c04\u64cd\u4f5c\u6cdb\u578b<\/h3>\n<h4>1\u3001\u4f5c\u7528\u3001\u4ecb\u7ecd<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230104200153555.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230104200153555.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230104200153555\" \/><\/div><\/p>\n<h4>2\u3001\u4f8b\u5b50<\/h4>\n<pre><code class=\"language-java\">package reflection;\n\nimport java.lang.reflect.Method;\nimport java.lang.reflect.ParameterizedType;\nimport java.lang.reflect.Type;\nimport java.util.List;\nimport java.util.Map;\n\npublic class Test11 {\n\n    public void test01(Map&lt;String, User&gt; map , List&lt;User&gt; list){\n        System.out.println(&quot;test01&quot;);\n    }\n\n    public Map&lt;String,User&gt; test02(){\n        System.out.println(&quot;test02&quot;);\n        return null;\n    }\n\n    public static void main(String[] args) throws NoSuchMethodException {\n        Method method = Test11.class.getMethod(&quot;test01&quot;, Map.class,List.class);\n        Type[]  genericParameterTypes = method.getGenericParameterTypes();\n        for (Type genericParameterType : genericParameterTypes) {\n            System.out.println(&quot;**:&quot;+genericParameterType);\n            if(genericParameterType instanceof ParameterizedType){  \/\/\u8fdb\u884c\u5224\u65adgenericParameterType\u662f\u5426\u4e3a\u4e00\u4e2a\u53c2\u6570\u5316\u7c7b\u578b\n                Type[] autualTypeArguments = ((ParameterizedType)genericParameterType).getActualTypeArguments();\/\/\u5982\u679c\u662f\uff0c\u8fdb\u884c\u5f3a\u8f6c\uff0c\u8c03\u7528getActualTypeArguments\uff08\uff09\u65b9\u6cd5\u83b7\u5f97\u771f\u662f\u83b7\u5f97\u771f\u662f\u7684\u53c2\u6570\u7c7b\u578b\n\n                for (Type autualTypeArgument : autualTypeArguments) {\n                    System.out.println(autualTypeArgument);\n                }\n            }\n        }\n\n        method = Test11.class.getMethod(&quot;test02&quot;,null);\n        Type[]  genericParameterType1 = method.getGenericParameterTypes();\n        for (Type genericParameterType : genericParameterType1) {\n            System.out.println(&quot;**:&quot;+genericParameterType);\n            if(genericParameterType instanceof ParameterizedType){  \/\/\u8fdb\u884c\u5224\u65adgenericParameterType\u662f\u5426\u4e3a\u4e00\u4e2a\u53c2\u6570\u5316\u7c7b\u578b\n                Type[] autualTypeArguments = ((ParameterizedType)genericParameterType).getActualTypeArguments();\/\/\u5982\u679c\u662f\uff0c\u8fdb\u884c\u5f3a\u8f6c\uff0c\u8c03\u7528getActualTypeArguments\uff08\uff09\u65b9\u6cd5\u83b7\u5f97\u771f\u662f\u83b7\u5f97\u771f\u662f\u7684\u53c2\u6570\u7c7b\u578b\n\n                for (Type autualTypeArgument : autualTypeArguments) {\n                    System.out.println(autualTypeArgument);\n                }\n            }\n        }\n    }\n}\n\/**\n\u7ed3\u679c\n**:java.util.Map&lt;java.lang.String, reflection.User&gt;\nclass java.lang.String\nclass reflection.User\n**:java.util.List&lt;reflection.User&gt;\nclass reflection.User\n\nProcess finished with exit code 0<\/code><\/pre>\n<h3>3.7\u3001\u7ec3\u4e60ORM<\/h3>\n<h4>1\u3001\u5185\u5bb9<\/h4>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230104202749055.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"http:\/\/zyg.luchers.cn\/wp-content\/uploads\/2024\/04\/image-20230104202749055.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230104202749055\" \/><\/div><\/p>\n<h4>2\u3001\u4f8b\u5b50<\/h4>\n<pre><code>package reflection;\n\nimport com.sun.istack.internal.Interned;\n\nimport java.lang.annotation.*;\nimport java.lang.reflect.Field;\n\n\/**\n *\n * \u53cd\u5c04\u64cd\u4f5c\u6ce8\u89e3\n *\/\npublic class Test12 {\n    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException {\n        Class c1 = Class.forName(&quot;reflection.Student2&quot;);\n\n\/\/        \u901a\u8fc7\u53cd\u5c04\u83b7\u5f97\u6ce8\u89e3\n        Annotation[] annotations = c1.getAnnotations();\n        for (Annotation annotation : annotations) {\n            System.out.println(annotation);\n        }\n\n\/\/        \u83b7\u53d6\u6ce8\u89e3\u7684value\u7684\u503c\n        Tabletao tabletao = (Tabletao) c1.getAnnotation(Tabletao.class);\n        String value = tabletao.value();\n        System.out.println(value);\n\n\/\/        \u83b7\u53d6\u7c7b\u6307\u5b9a\u7684\u6ce8\u89e3\n        Field f = c1.getDeclaredField(&quot;age&quot;);\n        Filetao annotation = f.getAnnotation(Filetao.class);\n        System.out.println(annotation.colunName());\n        System.out.println(annotation.type());\n        System.out.println(annotation.length());\n\n    }\n\n}\n@Tabletao(&quot;db_student&quot;)\nclass  Student2{\n    @Filetao(colunName = &quot;db_id&quot;,type = &quot;int&quot;,length =10)\n    private int id;\n    @Filetao(colunName = &quot;db_age&quot;,type = &quot;int&quot;,length =8)\n    private int age;\n    @Filetao(colunName = &quot;db_name&quot;,type = &quot;int&quot;,length =5)\n    private String name;\n\n    public Student2() {\n    }\n\n    public Student2(int id, int age, String name) {\n        this.id = id;\n        this.age = age;\n        this.name = name;\n    }\n\n    public int getId() {\n        return id;\n    }\n\n    public void setId(int id) {\n        this.id = id;\n    }\n\n    public int getAge() {\n        return age;\n    }\n\n    public void setAge(int age) {\n        this.age = age;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Student2{&quot; +\n                &quot;id=&quot; + id +\n                &quot;, age=&quot; + age +\n                &quot;, name=&#039;&quot; + name + &#039;\\&#039;&#039; +\n                &#039;}&#039;;\n    }\n}\n\n\/\/\u7c7b\u540d\u7684\u6ce8\u89e3\n@Target({ElementType.TYPE})\n@Retention(RetentionPolicy.RUNTIME)\n@interface Tabletao{\n    String value();\n}\n\n\/\/\u5c5e\u6027\u7684\u6ce8\u89e3\n@Target({ElementType.FIELD})\n@Retention(RetentionPolicy.RUNTIME)\n@interface Filetao{\n    String colunName();\n    String type();\n    int length();\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u7b2c\u4e8c\u5341\u4e09\u7ae0\u3001\u53cd\u5c04 \u8865\u5145\u52a8\u6001\u8bed\u8a00\u548c\u9759\u6001\u8bed\u8a00\u533a\u522b 1\u3001\u53cd\u5c04\u673a\u5236 1.1java\u53cd\u5c04\u673a\u5236\u793a\u610f\u56fe 1.2\u3001Java\u53cd\u5c04 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-5510","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/posts\/5510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/comments?post=5510"}],"version-history":[{"count":1,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/posts\/5510\/revisions"}],"predecessor-version":[{"id":5511,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/posts\/5510\/revisions\/5511"}],"wp:attachment":[{"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/media?parent=5510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/categories?post=5510"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/zyg.luchers.cn\/index.php\/wp-json\/wp\/v2\/tags?post=5510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}