java反射--方法反射的基本操作
2023-09-14 08:58:42 时间
方法的反射
1)如何获取某个方法
方法的名称和方法的参数列表才能唯一决定某个方法。
2)方法反射的操作
method.invoke(对象,参数列表)。
代码实例:
package com.reflect; import java.lang.reflect.Method; public class MethodDemo1 { public static void main(String []args) throws Exception { /* * 要获取print(int,int)方法 * 1,要获取方法,就是获取类的信息,获取类的信息,首先要获取类的类类型 * */ A a1=new A(); Class c=a1.getClass(); /* * 2,获取方法 名称和列表参数决定 * getMethod获取的是public的方法 * getDeclaredMethod获取自己声明的方法 * */ //第一种方式:c.getMethod("print", new Class[] {int.class,int.class}); Method m=c.getMethod("print",int.class,int.class); /* * 方法的反射操作 * 方法的反射操作是用m对象来进行方法调用和a1.print调用效果完全相同 * 方法如果没有返回值返回null,有返回值返回具体的返回值给O,后续自己转型 * */ //第一种方式:Object o=m.invoke(a1, new Object[] {10,20}); Object o=m.invoke(a1,10,20); System.out.println("============================="); //按照第一个方法调用方式,调用第二个方法 Method m2=c.getMethod("print",String.class,String.class); o=m2.invoke(a1,"hello","word"); //第三种无参数的方法调用 Method m3=c.getMethod("print"); o=m3.invoke(a1); } } class A { public void print(int a,int b) { System.out.println(a+b); } public void print(String a,String b) { System.out.println(a.toUpperCase()+","+b.toLowerCase()); } public void print() { System.out.println("hello word"); } }
相关文章
- java grouping,介绍 Java 8 groupingBy Collector
- Java零基础快速入门的方法
- java保留n位小数输出的几种方法
- java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一「建议收藏」
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java控制台输入数组_Java控制台输入数组并逆序输出的方法实例
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- java网页安全提示_win7系统打开网页提示“应用程序已被JAVA安全阻止”的解决方法…
- java中random方法取值范围_Java Random.nextInt()方法,随机产生某个范围内的整数
- 【说站】java反射调用方法
- 【说站】linux配置java环境变量的方法
- java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]
- 反编译Java_java反编译的代码可以修改么
- NDK开发(三) :JNI访问Java变量和方法
- 解决Java程序连接MySQL数据库的方法(java链接mysql数据库)
- 机制实现Redis Java过期机制的简易方法(redisjava过期)
- 版本Linux查看Java版本的简单方法(linux 查看java)
- Java与Redis的事务使用方法浅析(javaredis事务)
- Java与MySQL共同构建良好的数据表(java mysql 表)
- Java工程师集MySQL技能于一身(java工程师mysql)
- Java反射之私有字段和方法详细介绍
- java解析任意层数json字符串的方法
- Java中的2种集合排序方法介绍