反射基础

2017-10-12  本文已影响0人  西柚籽

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

反射的使用场景:

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

上一篇 下一篇

猜你喜欢

热点阅读