反射基础

反射:在程序的运行过程中,能够探测类所拥有的属性和行为的一种能力,把这种机制成为反射.

反射的使用场景:

1>把字符串转换成类对象

2>做通用代码(框架)

Java反射相关操作如下:

a.获取成员方法Method

b.获取成员变量Field

c.获取构造函数Constructor

例如:

package reflectDemo;

public class Student
{
    private String name;
    private int age;
    private String msg = "hello test";

    public void tell()
    {
        System.out.println(msg);
    }

    public void fun(String name, int age)
    {
        System.out.println("我叫" + name + ",今年" + age + "岁");
    }
}

package reflectDemo;

import java.lang.reflect.Method;

public class ReflectTest
{

    public static void main(String[] args) throws Exception
    {
        // 获取类对象
        Class c = Class.forName("reflectDemo.Student");
        // 创建类对象的实例
        Object object = c.newInstance();
        Method method2 = c.getMethod("fun", String.class, int.class);
        method2.invoke(object, "dog", 2);
        Method method = c.getMethod("tell");
        method.invoke(object);
    }
}

结果:

我叫dog,今年2岁
hello test

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容