Java 反射可以让我们在运行时获取和操作类的信息,包括类的属性、
方法、构造函数等。下面是一个
使用 Java 反射的简单案例:
假设我们有一个类Person:
javapublic class Person java基础反射视频 {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello() {
System.out.println("Hello, my name is " + name + ", I am " + age + " years old.");
}
}
现在,我们可以
使用 反射来获取和
调用Person类的构造函数和
方法:
javaimport
java.lang.re
flect.Constructor;
import
java.lang.re
flect.Method;
public class Re
flectionExample {
public static void main(String[] args) throws Exception {
// 获取Person类的Class对象
Class<Person> personClass = Person.class;
// 获取Person类的构造函数
Constructor<Person> constructor = personClass.getConstructor(String.class, int.class);
//
使用构造函数创建Person对象
Person person = constructor.newInstance("Tom", 20);
// 获取Person类的sayHello
方法Method sayHelloMethod = personClass.getMethod("sayHello");
//
调用sayHello
方法sayHelloMethod.invoke(person);
}
}
以上代码中,我们首先通过`Person.class`获取了Person类的Class对象,然后
使用`getConstructor`
方法获取了Person类的构造函数,并
使用构造函数创建了一个Person对象。接着,我们
使用`getMethod`
方法获取了Person类的`sayHello`
方法,并
使用`invoke`
方法 调用了该
方法。最终,我们输出了`Hello, my name is Tom, I am 20 years old.`。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/3821.html