Java反射机制:如何动态获取类信息及调用方法的案例
Java的反射机制允许我们在运行时检查类的信息,包括其属性、构造器和方法等。下面是一个具体的案例:
- 创建类(假设我们有一个名为
Student
的类)
public class Student {
private String name;
private int age;
// 构造器
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 方法
public void study() {
System.out.println("Student is studying...");
}
}
- 获取类信息(使用
Class
类)
// 获取Student类的Class对象
Class<Student> studentClass = Class.forName("com.example.Student");
// 输出类名、大小等信息
System.out.println("Class Name: " + studentClass.getName());
System.out.println("Class Size (in bytes): " + studentClass.getSize());
- 创建对象并调用方法(使用
newInstance
方法)
// 创建Student类的对象
Student student = (Student) studentClass.newInstance();
// 设置属性值
student.name = "John Doe";
student.age = 20;
// 调用方法
student.study();
// 销毁对象(Java不直接提供销毁对象的语句)
// 在实践中,这通常意味着将引用设置为null。
以上就是使用Java反射机制动态获取类信息及调用方法的一个完整示例。
还没有评论,来说两句吧...