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类的构造函数和
方法:
javaimportjava.lang.reflect.Constructor;importjava.lang.reflect.Method;public class ReflectionExample {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://51itzy.com/kjqy/8229.html