通过反射的方式调用Java类的方法

80 阅读1分钟
package reflection;

import java.lang.reflect.Method;

public class DuckType {

	public void print(boolean flag){
		System.out.println("Jerry: " + flag);
	}
	
	public  void reflectCall(Object obj){
		try {
			Class<?> clz = obj.getClass();
			Method m = clz.getMethod("print", boolean.class);
			m.invoke(obj, false);
		} catch ( Exception e){
			e.printStackTrace();
		}
		
		
	}
	public static void main(String[] args) {
		DuckType tool = new DuckType();
		tool.reflectCall(tool);
	}

}

输出:

Jerry: false