
在方法的调用上,很多小伙伴已经邮搜接触。我们今天所要讲的反射,在调用的方法上有着不同类型的区别,分别是静态方法、构造方法和普通方法,下面我们分别就调用的实例带来介绍。
1、调用静态方法
1 2 3 | Class<?> threadClazz = Class.forName( "java.lang.Math" );
Method method = threadClazz.getMethod( "abs" , long.class);
System.out.println(method.invoke( null , -10000l));
|
只需要将invoke方法的第一个参数设为null即可。
2、调用类中构造方法
取得类中指定参数类型的构造
1 | public Constructor getConstructor(Class<?>… parameterTypes) throws NoSuchMethodException, SecurityException
|
只能取得类中public权限的构造方法
1 | public Constructor getDeclaredConstructor(Class<?>… parameterTypes)
|
可以取得类中全部构造方法,包含私有构造。
3、调用类中指定名称的普通方法
1 2 3 4 | public Method getMethod(String name, Class<?>… parameterTypes)
public Method getDeclaredMethod(String name, Class<?..parameterTypes)
取得本类中全部普通方法,包括私有方法。
|
以上就是java反射调用方法的介绍,对于不同的方法而言,反射调用的操作也是有所不同的。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。