今天了解下java反射机制之一 访问类的属性和方法(包括私有方法和属性,访问私有属性需要注意的是将java语法检查设置true,否则会异常)
需要用到的相关类
Method,Field
常用主要方法
Method | getDeclaredMethod(String name, Class<?>... parameterTypes) |
Object | invoke(Object obj, Object... args) |
相关语句
加载类,得到类对象实例 obj class.forname("");
得到声明的方法 method = getDeclaredMethod("setName",String.class)
得到需要执行的方法名字,如果有参数,则需要设置参数类型
调用invoke方法执行 method .invoke(obj,参数值)
总结:主要就是利用java反射机制可以反问类的私有变量和方法,正常情况下是不能访问到私有成员变化和方法的。