java 反射機制調用函數


java反射機制 Refelction 反射映象倒影  即是 動態獲取類有哪些屬性和方法

在java里面

我們可以用反射機制在程序運行時 加載 探知 使用 編譯期間完全未知的class 不包括方法定義

package month9;

import java.lang.reflect.Method;

public class InvokeTester {
public int add(int a,int b){
return a+b;
}
public String echo(String name){
return name;
}

public static void main(String[] args) throws Exception{
Class<?> classType = InvokeTester.class; //獲取需要反射操作的對象
Object invokeTester = classType.newInstance(); //運用newInstance()來生成這個新獲取方法的實例
Method addMethod = classType.getMethod("add",new Class[]{int.class,int.class});//獲取你想要調用哪個方法
Object result = addMethod.invoke(invokeTester,new Object[]{1,2}); //傳遞參數
System.out.println((Integer)result); //把Object對象強制轉換為Integer值
System.out.println("----------------------"); //華麗的分隔線
Method echoMethod = classType.getMethod("echo",new Class[]{String.class});
Object result2 = echoMethod.invoke(invokeTester, new Object[]{"tom"});
System.out.println((String)result2);
}
}
運行截圖



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com