JAVA中的反射()
生活随笔
收集整理的這篇文章主要介紹了
JAVA中的反射()
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java中取得類對(duì)象的方法有三種
1.getClass();但是缺點(diǎn)就是如果沒有類,就會(huì)出錯(cuò),然后編譯不過
2.class.forname("包+類");//如果沒有類,此方法也不會(huì)報(bào)錯(cuò),但在運(yùn)行時(shí)會(huì)出錯(cuò)
3.包+類.class
利用反射實(shí)例化
Class<?> cls = Class.forName("類+包"); Object obj = cls.newInstance();取得類所在的包:
getPackage();//返回-- 類型 包名getPackage().getName();//返回包名
取得類名:
class.getName(); //返回包名稱+類名稱 class.getSimpleName();//返回類名稱取得父類:
class.getSuperClass.getSimpleName();取得類接口:
Class<?> cls [] = cls.getInterfaces(); for(...){cls[i].getSimpleName(); }取得構(gòu)造方法:
java.lang.reflect包下: getConstructors();//返回所有構(gòu)造 getConstructor(param);//返回指定構(gòu)造constructors.getModifiers();//獲取方法修飾符
constructors.getName();//獲取構(gòu)造方法名稱
constructors.getParameterCount();//獲取構(gòu)造方法參數(shù)個(gè)數(shù)
constructors.getParameterTypes();//獲取構(gòu)造方法的參數(shù)類型
constructors.getExceptionTypes();//獲取構(gòu)造方法的異常類型
取得方法:
getMethods();//獲取類中所有方法 getMethod(name,Class<?>);//獲取指定方法 兩者都返回java.lang.reflect.Method; getName();//返回方法名稱 getModifiers();//返回方法修飾符 getParameterTypes();//返回參數(shù)類型 invoke(object,object...);//調(diào)用指定方法,調(diào)用時(shí)要有實(shí)例化對(duì)象,然后再設(shè)置參數(shù);getReturnType();//返回值類型
getDeclaredMethods();//獲取本類中的方法
?
轉(zhuǎn)載于:https://www.cnblogs.com/javage/p/9311350.html
總結(jié)
以上是生活随笔為你收集整理的JAVA中的反射()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于vmware workstation
- 下一篇: 洛谷 P3539 [POI2012]RO