以下是定义一个Student类并进行封装,然后使用反射的方式将对象的年龄改成19的Java代码:\n\njava\nimport java.lang.reflect.Field;\n\npublic class Student {\n private String name;\n private int age;\n\n public Student(String name, int age) {\n this.name = name;\n this.age = age;\n }\n\n public String getName() {\n return name;\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 static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {\n Student stu = new Student("张三", 18);\n \n System.out.println("修改前的年龄:" + stu.getAge());\n \n // 获取age字段\n Field ageField = Student.class.getDeclaredField("age");\n // 设置可访问\n ageField.setAccessible(true);\n // 修改age的值为19\n ageField.set(stu, 19);\n \n System.out.println("修改后的年龄:" + stu.getAge());\n }\n}\n\n\n输出结果:\n\n修改前的年龄:18\n修改后的年龄:19\n\n\n注意:使用反射修改对象的属性需要将字段设置为可访问,即调用setAccessible(true)方法,否则会抛出IllegalAccessException异常。

Java反射修改对象属性:实例演示如何使用反射改变Student对象的年龄

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

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