亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

反射java學習筆記

2019-11-11 00:26:56
字體:
來源:轉載
供稿:網友

類的認識

package com.cn.reflect;public class demo {/*** 測試類CLass* @param args*/public static void main(String[] args) {FZS f1=new FZS();System.out.PRintln(f1.getClass());//方式1取得類名Class c1=f1.getClass();System.out.println(c1);//方式二,每個類含有一個隱含的成員變量.class,稱為類類型Class c2=FZS.class;System.out.println(c2);//方式三,獲取類類型,需要輸入全名,會出現異常Class c3=null;try {c3=Class.forName("com.cn.reflect.FZS");System.out.println(c3);} catch (ClassNotFoundException e) {e.printStackTrace();}System.out.println(c1==c2);System.out.println(c1==c3);//可以使用類類型獲取類實例try {FZS f2=(FZS) c1.newInstance();f2.print();} catch (InstantiationException | IllegalaccessException e) {e.printStackTrace();}}}class FZS{public void print(){System.out.println("test class ");}}

2.靜態加載類

class Office {/**靜態加載*/public static void main(String[] args) {/*new 創建對象,靜態加載所有可能用到的類*/if("Word".equals(args[0])){Word w=new Word();w.start();}if("Excel".equals(args[0])){Excel e=new Excel();e.start();}}}

class Word {public static void main(String[] args) {}public void start(){System.out.println("靜態類加載測試");}}

3.動態加載類

/**動態加載類*/class OfficeBetter {public static void main(String[] args) {try{//動態加載類,在運行時刻加載Class c=Class.forName(args[0]);//通過類類型,創建該類對象OfficeAble oa=(OfficeAble)c.newInstance();oa.start();}catch (Exception e){e.printStackTrace();}}}

/**接口*/interface OfficeAble{public  void start();}

class Word2 implements OfficeAble {public void start(){System.out.println("Word start!!");}}

4.簡單封裝,獲取類信息

package com.cn.reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassUtil {public static void printMethodMessage(Object obj){Class c=obj.getClass();Method[] ms= c.getMethods();for(Method s:ms){System.out.print("方法名是:"+s.getReturnType()+" "+s.getName()+"(");Class[] parameters=s.getParameterTypes();for(Class p:parameters){System.out.print(p.getName()+" ");}System.out.println(");");} }private static void printFieldMethod(Object obj) {Class c=obj.getClass();/*** 成員變量是也是對象* java.lang.reflect.Field* Field類封裝了關于成員變量的操作* getField*/Field[] fs=c.getDeclaredFields();for(Field f:fs){//Class fieldType=f.getType();String typeName=fieldType.getName();String typeName2=fieldType.getTypeName();System.out.println(f.getClass()+"--" +f.getName()+" --"+fieldType+"-- "+typeName+" --"+typeName2);}}public static void printConstructorMethod(Object obj){Class c=obj.getClass();/*** 構造函數也是對象* java.lang.Constructor 封裝了構造函數的信息* */Constructor[]cons=c.getDeclaredConstructors();for(Constructor con:cons){//獲取構造函數名System.out.print(con.getName()+"( ");//獲取構造函數參數名列表Class[] paramters=con.getParameterTypes();for (Class class1 : paramters) {System.out.print(class1.getName()+ ",");}System.out.println(");");}}}

package com.cn.reflect;public class demo3 {public static void main(String[] args) {String s="煩煩煩";ClassUtil.printMethodMessage(s);Integer a=1;ClassUtil.printConstructorMethod(a);ClassUtil.printConstructorMethod(1);ClassUtil.printConstructorMethod("a");ClassUtil.printConstructorMethod(1);}}

5.反射及其用法

package com.cn.reflect;

import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 反射測試 * @author fzs * */public class demo5 {public static void main(String[] args) {A a=new A();Class c=a.getClass();/*** 2.獲取方法,名稱,參數列表* get*/try {//Method m=c.getMethod("print", new Class[]{int.class,int.class})Method m=c.getMethod("print",int.class,int.class);//方法中如果沒有返回值返回null,有返回值返回具體的返回值//Object o=m.invoke(a,new Object[]{10,20});Object o=m.invoke(a,10,20);System.out.println("=================================");m=c.getMethod("print",String.class,String.class);o=m.invoke(a, "FENGZHENGSHU","fengzhengyun");System.out.println("=================================");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}class A{public void print(int a,int b){System.out.println(a+b);}public void print(String a,String b){System.out.println(a.toLowerCase()+","+b.toUpperCase());}}

6.反射解析泛型函數本質

package com.cn.reflect;import java.lang.reflect.Method;import java.util.ArrayList;public class demo6 {public static void main(String[] args) {ArrayList list1=new ArrayList();ArrayList<String> list2=new ArrayList<String>();list2.add("fzs");//list2.add(2);編譯前防錯Class c1=list1.getClass();Class c2=list2.getClass();System.out.println(list2);System.out.println(c1==c2);/*** 使用反射繞過編譯*/try {//Method m=c2.getMethod("add", int.class);Method m=c2.getMethod("add", Object.class);Object obj=m.invoke(list2, 20);System.out.println(list2);} catch (Exception e) {e.printStackTrace();}}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美a级成人黄色| 一本大道久久加勒比香蕉| 成人精品视频在线| 亚洲xxxxx| 日韩亚洲欧美中文在线| 亚洲美女www午夜| 色yeye香蕉凹凸一区二区av| 欧美日韩国产va另类| 久久久久久久影视| 91成人国产在线观看| 日韩人在线观看| 欧美成人在线影院| 国产成人精品a视频一区www| 久久国产精品久久久久久| 久久久久国产一区二区三区| 欧美俄罗斯乱妇| 91美女高潮出水| 久久精品免费播放| 中文字幕av一区| 欧美黄色免费网站| 久久激情五月丁香伊人| 欧美大片大片在线播放| 亚洲精品久久久久久久久久久久| 亚洲欧洲偷拍精品| 亚洲午夜小视频| 国产欧美日韩中文字幕在线| 久久人体大胆视频| 国产精品电影网| 亚洲欧美中文日韩v在线观看| 国产精品99免视看9| 欧美国产亚洲精品久久久8v| 亚洲国产欧美精品| 久久天天躁狠狠躁夜夜爽蜜月| 久久久精品国产| 国产精品第2页| 欧美又大粗又爽又黄大片视频| 97久久精品视频| 欧洲s码亚洲m码精品一区| 国产精品女人网站| 在线视频亚洲欧美| 青草热久免费精品视频| 亚洲成人精品视频| 欧美高清电影在线看| 日韩av在线直播| 国产精品久久久久不卡| 日韩一区二区欧美| 欧美午夜精品伦理| 日韩免费中文字幕| 亚洲最新av网址| 欧美大码xxxx| 国产精品视频男人的天堂| 久久在线视频在线| 日韩一区二区久久久| 成人xxxx视频| 国产精品美女av| 欧美剧在线观看| 国产精品美女www爽爽爽视频| 国产成人激情小视频| 国产精品久久久久影院日本| 久久久久久12| 成人伊人精品色xxxx视频| 亚洲国产欧美一区二区三区久久| 亚洲精品久久久久国产| 亚洲女人被黑人巨大进入| 国产98色在线| 国产精品av免费在线观看| 亚洲美女视频网| 国产一区二区三区丝袜| 久久久精品欧美| 国产成人精品999| 日韩亚洲在线观看| 国产欧美日韩专区发布| 大量国产精品视频| 欧美综合在线观看| 色噜噜狠狠色综合网图区| 欧美大秀在线观看| 亚洲国产天堂网精品网站| 亚洲欧美日韩精品久久奇米色影视| 国产日韩欧美电影在线观看| 国产激情久久久| 亚洲精品福利在线| 欧美日韩午夜视频在线观看| 青青草原一区二区| 成人午夜高潮视频| 成人亚洲欧美一区二区三区| 亚洲伊人久久综合| 清纯唯美亚洲综合| 久久躁日日躁aaaaxxxx| 欧美精品一区在线播放| 日韩a**中文字幕| 久久国产精彩视频| 最近2019年日本中文免费字幕| 成人免费激情视频| 欧美午夜片在线免费观看| 精品欧美aⅴ在线网站| 福利精品视频在线| 韩剧1988在线观看免费完整版| 国产精品香蕉在线观看| 红桃av永久久久| 日韩在线视频网| 九九热在线精品视频| 日韩成人高清在线| 亚洲老头老太hd| 亚洲精品一区中文字幕乱码| 久久伊人91精品综合网站| 久久精品国产v日韩v亚洲| 欧美视频国产精品| 性欧美在线看片a免费观看| 久久色精品视频| 日韩在线观看成人| 九九热这里只有在线精品视| 国产成人鲁鲁免费视频a| 久久精品免费电影| 亚洲最大福利网站| 亚洲sss综合天堂久久| 久久精品国产亚洲7777| 黑人精品xxx一区一二区| 中文字幕国产亚洲| 亚洲精品国精品久久99热| 精品香蕉在线观看视频一| 2019中文字幕在线| 久久久精品亚洲| 成人在线激情视频| 成人综合国产精品| 亚洲天堂av在线免费| 欧美激情免费观看| 久久天天躁狠狠躁夜夜躁| 在线播放日韩av| 日韩在线观看av| 国产在线精品一区免费香蕉| 亚洲天堂免费视频| 91社区国产高清| 亚洲一区二区日本| 国产成人aa精品一区在线播放| 国产成人精品视频在线观看| 欧美日韩国产中文字幕| 热99精品只有里视频精品| 午夜精品久久久久久久久久久久| 九九久久久久久久久激情| 精品视频久久久久久| 亚洲成人激情图| 欧美日在线观看| 亚洲国产欧美在线成人app| 亚洲天堂av在线免费观看| 日韩精品在线观看网站| 成人伊人精品色xxxx视频| 不卡av在线播放| 九色91av视频| 日韩电影中文字幕在线观看| 国产成+人+综合+亚洲欧洲| 国产精品久久久av久久久| 亚洲深夜福利在线| 欧美在线视频在线播放完整版免费观看| 欧美大秀在线观看| 国产欧美一区二区三区久久| 午夜精品免费视频| 国产在线a不卡| 国语自产精品视频在线看一大j8| 国产精品爽黄69天堂a| 国产视频福利一区| 日韩有码在线电影| 国产成人精品国内自产拍免费看| 亚洲欧美日韩区| 国产久一一精品|