通過反射建立對應的執行時類的物件
public
void
test1()
throws illegalacces***ception, instantiationexception
}
獲取執行時類的方法結構:
public
class
methodtest
system.out.
println()
;//getdeclaremethods():獲取當前執行時類中宣告的所有方法。(不包含父類中宣告的方法)
method[
] declaredmethod = clazz.
getdeclaredmethods()
;for
(method m : declaredmethod
)}/*
許可權修飾符 返回值型別 方法名(引數型別1 形參名1) throws ***exception
*/@test
public
void
test2()
//2.許可權修飾符
system.out.
print
(modifier.
tostring
(m.getmodifiers()
)+"\t");
//3.返回值型別
system.out.
print
(m.getreturntype()
.getname()
+"\t");
//4.方法名
system.out.
print
(m.getname()
);system.out.
print
("(");
//5.形參列表
class[
] parametertypes = m.
getparametertypes()
;if(!
(parametertypes == null && parametertypes.length ==0)
) system.out.
print
(parametertypes[i]
+"args_"
+ i +
",");}
} system.out.
print
(")");
//6.丟擲的異常
class[
] exceptiontypes = m.
getexceptiontypes()
;if(exceptiontypes.length>0)
system.out.
println
(exceptiontypes[i]
.getname()
+",");
}}system.out.
println()
;}}}
其他結構:
@test
public
void
test1()
system.out.
println()
;//獲取當前執行時類中宣告的所有的構造器
constructor[
] declaredconstructors = clazz.
getdeclaredconstructors()
;for
(constructor c: declaredconstructors
)}/*
獲取執行時類的父類
*/@test
public
void
test2()
/*獲取執行時類帶泛型的父類
*/@test
public
void
test3()
/*獲取執行時類帶泛型的父類的泛型
*/@test
public
void
test4()
反射獲取執行時類的結構
屬性 1.getfields 獲取當前執行時類及其父類中宣告為public訪問許可權的屬性 2.getdeclaredfields 獲取當前執行時類中宣告的所有屬性。不包含父類中宣告的屬性 4.getmodifiers 許可權修飾符 5.gettype 資料型別 6.getname 變數名 獲取執行...
反射獲取執行時類的完整結構
field method constructor superclass inte ce annotation 1 實現的全部介面 2 所繼承的父類 3 全部的構造器 4 全部的方法 5 全部的field public class getinte ces 確定此物件所表示的類或介面實現的介面。publ...
05 獲取執行時類的完整結構
1.實現的全部介面 public class getinte ces 確定此物件所表示的類或介面實現的介面。2.所繼承的父類 public class getsuperclass 返回表示此 class 所表示的實體 類 介面 基本型別 的父類的class。3.全部的構造器 public const...