//動態載入類
scanner scan = new scanner(system.in);
system.out
.println("輸入類名:");
string classname = scan.nextline();
class cls = class.forname(classname);
//1.找到demo方法
//class 提供了根據方法簽名找到指定方法資訊的api
string name = "demo"
; //方法名
//型別列表class
表示字串的型別
表示int型別
//任何.class 表示任何的型別
class types = ;
//根據方法簽名在cls查詢方法的資訊
method method = cls
.getdeclaredmethod(name, types);
//找到了私有方法
system.out
.println(method);
//執行私有方法
//開啟方法的執行許可權!!!違反封裝!
method.setaccessible(true);
object obj = cls
.newinstance();
object value = method.invoke(obj, "carl",16);
system.out
.println(value);
使用反射呼叫類靜態方法
呼叫靜態的方法 assembly asm assembly.load infosystem 命名空間 type t asm.gettype infosystem.sqlquery 命名空間加型別名稱 sqlquery sqlquery t.invokemember getinstance bindi...
Java反射工具類
反射工具類 public class reflectionutil return field.get object catch exception e return null 通過反射獲取靜態成員的值 param classvar param fieldname return 靜態成員的值 supp...
java通過反射呼叫方法
業務中有個場景是這樣的,根據傳入不同的值生成不同的訊息體。這個時候如果用switch或ifelse的話那每一層 都很多,而且不利於維護。於是想到乙個方法,根據傳入的引數呼叫不同的方法 引數即方法 這樣便於維護也利於 的健壯性。如下 示例 先獲取方法,type方法名,this.getclass 引數型...