java反射调用方法

在方法的调用上,很多小伙伴已经邮搜接触。我们今天所要讲的反射,在调用的方法上有着不同类型的区别,分别是静态方法、构造方法和普通方法,下面我们分别就调用的实例带来介绍。

1、调用静态方法

Class<?>threadClazz=Class.forName("java.lang.Math");
Methodmethod=threadClazz.getMethod("abs",long.class);
System.out.println(method.invoke(null,-10000l));

只需要将invoke方法的第一个参数设为null即可。

2、调用类中构造方法

取得类中指定参数类型的构造

publicConstructorgetConstructor(Class<?>…parameterTypes)throwsNoSuchMethodException,SecurityException

只能取得类中public权限的构造方法

publicConstructorgetDeclaredConstructor(Class<?>…parameterTypes)

可以取得类中全部构造方法,包含私有构造。

3、调用类中指定名称的普通方法

publicMethodgetMethod(Stringname,Class<?>…parameterTypes)
//方法有重载所以要传名称和参数类型取得本类以及父类中所有public方法
publicMethodgetDeclaredMethod(Stringname,Class<?..parameterTypes)
取得本类中全部普通方法,包括私有方法。

以上就是java反射调用方法的介绍,对于不同的方法而言,反射调用的操作也是有所不同的。更多Java学习指路:Java基础

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容