// 取得一个类的全部方法定义
public static void main(String[] args) {
Class<?> class1 = null;
try {
class1 = Class.forName("fanshe.Person");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Method[] methods = class1.getMethods();// 得到类的全部方法
for (int i = 0; i < methods.length; i++) {
// 得到方法名
String method_name = methods[i].getName();
System.out.print(method_name);
// 得到参数类型
Parameter[] parameters = methods[i].getParameters();
for (int j = 0; j < parameters.length; j++) {
System.out.println(parameters[j].getName());
}
System.out.println();
}
}
// 取得Person类中的属性
public static void main(String[] args) {
Class<?> class1 = null;
try {
class1 = Class.forName("fanshe.Person");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
{
Field[] fields = class1.getDeclaredFields();// 取得Person类的属性
for (int i = 0; i < fields.length; i++) {
Class<?> type = fields[i].getType();
System.out.print(fields[i].getName() + ",");// 取得属性的名称
System.out.print(type.getName());// 取得属性的类型
int modifiers = fields[i].getModifiers();// 取得访问修饰符(public,private)的数字
String string = Modifier.toString(modifiers);// 取得访问修饰符
System.out.print("." + string);//输出访问修饰符
System.out.println();
}
}
System.out.println("================================================");
}
//调用Person类sayHi方法
public static void main(String[] args) {
Class<?> class1=null;
try {
class1=Class.forName("fanshe.Person");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
//方法原型public void sayHi(String content);
//sayHi,方法名称;
//String.class,方法参数的类型
Method method = class1.getMethod("sayHi",String.class);
//调用方法,必须传递对象实例和方法参数
method.invoke(class1.newInstance(),"111");
} catch (Exception e) {
// TODO: handle exception
}
}
分享到:
相关推荐
Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法
通过Java反射调用方法,适合初级自学者,通俗易懂
Java 反射创建get set方法及反射方法的调用
java 反射 调用私有方法(有参数私有方法)获取私有属性值
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 我的代码里主要有一下知识点: 1.获取Class对象的三种方式 2.获取构造方法并调用 3.获取成员方法 4.获取成员变量 5.反射数组 6.通过反射...
调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用数组参数的方法 调用私有方法
Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需要用Java反射。android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用...
java反射调用set方法时如果让参数做自动类型转换5 这段时间学习java的反射机制想实现一个功能:遍历一个Map,然后利用反射机制调用BO的set方法,完成BO属性的自动注入。这样设计的初衷是解决Excel数据导入问题中的...
本例演示了如何使用反射,调用类的静态方法,封装了工具类ClsTool,统一实现静态方法的调用。使用反射,在特定场景下,能够很好的简化代码。例如mybatis
利用java反射原理实现方法的动态调用。
使用JAVA反射机制动态调用 计算器对象的加法,减法函数。 使用JAVA反射机制修改一个学生对象 的私有数据成员(不允许调用setters) 使用的类有Class, Method, Field
Java反射反射机制,通过反射,在不修改源代码的情况下实现对类的操作。JAVA反射机制是在运行状态中(**即RunTime阶段**); 对于任意一个实体类(**如Person类**),都能够知道这个类的所有属性(**name**)和方法(**eat...
利用java的反射原理来调用 Android隐藏api 应用开发必备哦 详细描述: http://blog.csdn.net/y_haiyang/article/details/9924925 ====================关注小鱼=================== 新浪微博:...
该篇文章主要介绍当我们碰到参数或者返回值是一个对象时,如何通过frida反射调用该对象的方法(methods)与获取该对象的字段(fields)。感兴趣的朋友可以下载下来看看,了解了解
通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法
都能够调用它的任意一个方法,常见的应用如下 逆向代码 ,例如反编译 与注解相结合的框架 例如Retrofit 单纯的反射机制应用框架 例如EventBus 2.x 动态生成类框架 例如Gson Java高级程序设计实战教程第三章-Java反射...
Java 反射调用设置值
万能的反射封装接口,值得下载参考,当成util
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....
Method,invoke,getMethod等反射私有方法和私有属性