Java定义一个Student类该类包含namesexage三个成员变量并进行封装通过反射的方式获取该类的成员变量并输出
以下是一个使用反射来获取Student类的成员变量并输出的示例代码:
import java.lang.reflect.Field;
public class Student {
private String name;
private String sex;
private int age;
public Student(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public static void main(String[] args) {
Student student = new Student("Alice", "Female", 18);
Class<?> studentClass = student.getClass();
Field[] fields = studentClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 设置私有成员变量可访问
try {
Object value = field.get(student);
System.out.println(field.getName() + ": " + value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
输出结果:
name: Alice
sex: Female
age: 18
在这个示例中,我们首先定义了一个Student类,其中包含了name、sex和age三个私有成员变量,并使用封装(private修饰符)进行了封装。然后,在main方法中,我们创建了一个Student对象,并使用反射获取了该对象的类信息(student.getClass()),然后通过Class类的getDeclaredFields()方法获取了该类的所有成员变量。接下来,我们遍历这些成员变量,并使用setAccessible(true)将私有成员变量设置为可访问。最后,通过field.get(student)获取成员变量的值,并输出到控制台
原文地址: https://www.cveoy.top/t/topic/hGc2 著作权归作者所有。请勿转载和采集!