1. 程式人生 > >java反射機制——獲取位元組碼對應類中的函式

java反射機制——獲取位元組碼對應類中的函式

package cn.itcast.reflect.demo;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
//獲取類中的函式
public class ReflectDemo4 {

	public static void main(String[] args) throws Exception {
		
//		getmetod_1();
		
//		getmetod_2();
		
		getmetod_3();
		
	}
	
//獲取指定有參函式
	public static void getmetod_3() throws Exception {
	
		Class class1=Class.forName("cn.itcast.bean.demo.Person");
		Method method=class1.getMethod("show4", String.class);
		Constructor constructor=class1.getConstructor(String.class,int.class);
		Object obj=constructor.newInstance("小金",50);
		method.invoke(obj, "三胖");
		
	}

//獲取指定無參函式
	public static void getmetod_2() throws Exception {
		
		Class class1=Class.forName("cn.itcast.bean.demo.Person");
		
		Method method=class1.getMethod("show1", null);
		
//		Object obj=class1.newInstance();
		
		Constructor constructor=class1.getConstructor(String.class,int.class);
		Object obj=constructor.newInstance("小強",20);
		
		
		method.invoke(obj,null);
		
	}
//獲取函式
	public static void getmetod_1() throws Exception {
		
		Class class1=Class.forName("cn.itcast.bean.demo.Person");
		
		Method[]methods=class1.getMethods();
		methods=class1.getDeclaredMethods();
		
		for(Method method:methods) {
			System.out.println(method);
		}
	}

}