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