package cn.learn_04;import java.lang.reflect.Constructor;
import java.lang.reflect.Method;public class ReflectDemo {public static void main(String[] args) throws Exception {// 获取字节码文件对象Class c = Class.forName("cn.learn_01.Person");// 获取所有的方法// Method[] methods = c.getMethods(); // 获取自己的包括父亲的公共方法// Method[] methods = c.getDeclaredMethods(); // 获取自己的所有的方法// for (Method method : methods) {// System.out.println(method);// }Constructor con = c.getConstructor();Object obj = con.newInstance();/** Person p = new Person(); p.show();*/// 获取单个方法并使用// public void show()// public Method getMethod(String name,Class<?>... parameterTypes)// 第一个参数表示的方法名,第二个参数表示的是方法的参数的class类型Method m1 = c.getMethod("show");// obj.m1(); // 错误// public Object invoke(Object obj,Object... args)// 返回值是Object接收,第一个参数表示对象是谁,第二参数表示调用该方法的实际参数m1.invoke(obj); // 调用obj对象的m1方法System.out.println("----------");// public void method(String s)Method m2 = c.getMethod("method", String.class);m2.invoke(obj, "hello");System.out.println("----------");// public String getString(String s, int i)Method m3 = c.getMethod("getString", String.class, int.class);Object objString = m3.invoke(obj, "hello", 100);System.out.println(objString);// String s = (String)m3.invoke(obj, "hello",100);// System.out.println(s);System.out.println("----------");// private void function()Method m4 = c.getDeclaredMethod("function");m4.setAccessible(true);m4.invoke(obj);}
}

通过反射获取无参无返回值成员方法并使用相关推荐

  1. Spring AOP(获取入参和返回值)及其原理:动态代理

    此篇会先演示Spring AOP(获取入参和返回值),之后再演示AOP的原理:动态代理. Spring AOP: AOP思想: AOP(Aspect Oriented Programming),即面向 ...

  2. java学习(46):无参带返回

    /*1. 如果方法的返回类型为 void ,则方法中不能使用 return 返回值! *2. 方法的返回值最多只能有一个,不能返回多个值 *3. 方法返回值的类型必须兼容,例如,如果返回值类型为 in ...

  3. java学习(45):无参无返回

    /*如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是:访问修饰符 返回值类型 方法名(参数列表){方法体} 其中: 1. ...

  4. 函数:无参无返回值函数的使用

    1.定义格式 函数构成代码执行的逻辑结构,在go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数体和返回语句 go语言中函数定义的格式如下: func FuncName(/参数 ...

  5. Python最简单的函数(无参无返回值)2021-08-27

    #定义了一个无参无返回值的函数 def myPrint():print("fanfan is a very good man!")print("fanfan is a n ...

  6. c#如何调用有参无返回值存储过程和有参有返回值存储过程,以及IDataParameter[]如何赋值(包含decimal值的转换)

     第一步先创建数据库链接方法 1.定义访问数据库的方法/// <summary>/// 执行存储过程/// </summary>/// <param name=" ...

  7. java无参_Java中无参无返回和无参带返回的类型方法

    在前面的文章中,我们学习了java中方法的定义.分类及调用的相关知识.知道了java中的方法其实可以叫做函数,目的是实现某些我们想要的功能,也知道了java中方法的分类共有四种:无参无返回.无参带返回 ...

  8. IntelliJ IDEA设置方法注释模板并解决入参和返回值为空问题

    ## 简介 网上讲解设置方法注释模板的文章很多,尝试了很多方法后,发现在方法体外生成的模板入参值和返回值都是null,而放到方法体内的入参值和返回值就可以自动生成.苦试N次,终于发现诀窍.Idea的这 ...

  9. 面向对象封装之无参无返,无参有返

    public class E{public static void main(String[]args){EQ e=new EQ();e.name="Mr.Deng";e.age= ...

  10. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值...

    关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...

最新文章

  1. 前端之css引入方式/长度及颜色单位/常用样式
  2. (转载)不一样的冒泡排序
  3. 各国市场分析(捷克,印度)
  4. JavaScript 01
  5. 对keep-alive组件的理解
  6. partition by 和 group by
  7. 服务提供者框架讲解 之 myJDBC
  8. 非受检异常_Java异常(Exception)类型及处理
  9. java画菱形_JavaSE之绘制菱形
  10. 网络适配器感叹号(代码56)
  11. java 抓取网页_JAVA使用爬虫抓取网站网页内容的方法
  12. 社会工程学(安全牛)
  13. 如何有效防止“蹭网”——简述Wi-Fi加密方式与破解
  14. VB.net是个弥天大谎,VB.net已死(海康威视 SDK 开发有感)
  15. REVIT建模“族类别和族参数”中的“总是垂直”“基于工作平面”怎么用?
  16. 监控系统与视频会议系统两者的区分
  17. obj-c UISlider  使用
  18. 安全集群访问非安全集群问题记录
  19. python支付宝蚂蚁森林_Python+appium自动化实例(一):使用Python3+appium实现自动收取支付宝蚂蚁森林能量...
  20. 5GNR——RACH随机接入流程(1):随机接入的原因

热门文章

  1. 简单易上手的Bootstrap
  2. PHP高级应用视频教程大全学习
  3. py2exe使用相对路径的当前目录问题
  4. [你必须知道的css系列]第一回:丰富的利器:CSS选择符之通配符、类选择符、包含选择符、ID选择符...
  5. 建议CSDN增加谈恋爱专区
  6. 有关日志打印的几点经验
  7. 中台之上(十五):被忽视的产品目录
  8. 64. Minimum Path Sum
  9. redhat和ubuntu上部署本地源
  10. Post/Redirect/Get模式防止表单重复提交