Java\u4e2d\u7684\u53cd\u5c04\u6307\u7684\u662f\u5728\u8fd0\u884c\u65f6\u52a8\u6001\u7684\u83b7\u5f97\u7c7b\u7684\u4fe1\u606f\uff0c\u4ee5\u53ca\u52a8\u6001\u7684\u521b\u5efa\u5bf9\u8c61\u3001\u8c03\u7528\u65b9\u6cd5\u548c\u8bbf\u95ee\u5c5e\u6027\u7684\u80fd\u529b\u3002\u901a\u8fc7\u53cd\u5c04\uff0c\u5728\u8fd0\u884c\u65f6\u901a\u8fc7\u7c7b\u7684\u5168\u9650\u5236\u540d\u83b7\u5f97\u5230\u7c7b\u7684\u5bf9\u8c61\uff0c\u8fdb\u800c\u83b7\u5f97\u7c7b\u7684\u65b9\u6cd5\u3001\u6784\u9020\u5668\u3001\u57df\u7b49\u4fe1\u606f\uff0c\u5e76\u4e14\u53ef\u4ee5\u52a8\u6001\u7684\u521b\u5efa\u5bf9\u8c61\u3001\u8c03\u7528\u65b9\u6cd5\u548c\u8bbf\u95ee\u5c5e\u6027\u3002\n\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u53cd\u5c04\u4ee3\u7801\u4f8b\u5b50\uff0c\u6f14\u793a\u4e86\u5982\u4f55\u4f7f\u7528\u53cd\u5c04\u83b7\u5f97\u7c7b\u7684\u4fe1\u606f\u3001\u521b\u5efa\u5bf9\u8c61\u3001\u8c03\u7528\u65b9\u6cd5\u548c\u8bbf\u95ee\u5c5e\u6027\uff1a\n\njava\nimport java.lang.reflect.Constructor;\nimport java.lang.reflect.Field;\nimport java.lang.reflect.Method;\n\npublic class ReflectionExample {\n public static void main(String[] args) {\n try {\n // \u83b7\u5f97\u7c7b\u7684\u4fe1\u606f\n Class<?> clazz = Class.forName("com.example.MyClass");\n \n // \u521b\u5efa\u5bf9\u8c61\n Constructor<?> constructor = clazz.getConstructor();\n Object obj = constructor.newInstance();\n \n // \u8c03\u7528\u65b9\u6cd5\n Method method = clazz.getMethod("myMethod");\n method.invoke(obj);\n \n // \u8bbf\u95ee\u5c5e\u6027\n Field field = clazz.getField("myField");\n field.set(obj, "Hello, World!");\n \n System.out.println(field.get(obj));\n } catch (Exception e) {\n e.printStackTrace();\n }\n }\n}\n\nclass MyClass {\n public String myField;\n \n public void myMethod() {\n System.out.println("Hello, Reflection!");\n }\n}\n\n\n\u4e0a\u8ff0\u4ee3\u7801\u4e2d\uff0c\u901a\u8fc7\u53cd\u5c04\u83b7\u5f97\u5230MyClass\u7c7b\u7684\u4fe1\u606f\uff0c\u7136\u540e\u4f7f\u7528Constructor\u5bf9\u8c61\u521b\u5efa\u4e86\u4e00\u4e2aMyClass\u5bf9\u8c61\u3002\u7136\u540e\uff0c\u901a\u8fc7getMethod\u65b9\u6cd5\u83b7\u5f97\u5230myMethod\u65b9\u6cd5\u7684Method\u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7invoke\u65b9\u6cd5\u8c03\u7528\u4e86\u8be5\u65b9\u6cd5\u3002\u6700\u540e\uff0c\u901a\u8fc7getField\u65b9\u6cd5\u83b7\u5f97\u5230myField\u57df\u7684Field\u5bf9\u8c61\uff0c\u7136\u540e\u4f7f\u7528set\u65b9\u6cd5\u7ed9\u57df\u8d4b\u503c\uff0c\u5e76\u4f7f\u7528get\u65b9\u6cd5\u83b7\u5f97\u57df\u7684\u503c\u5e76\u8f93\u51fa\u3002


原文地址: https://www.cveoy.top/t/topic/px2E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录