![源碼筆記第1天基礎(chǔ)加強(qiáng)反射properties_第1頁](http://file4.renrendoc.com/view/bb308a30f7ca19b025029afe4f2be1f5/bb308a30f7ca19b025029afe4f2be1f51.gif)
![源碼筆記第1天基礎(chǔ)加強(qiáng)反射properties_第2頁](http://file4.renrendoc.com/view/bb308a30f7ca19b025029afe4f2be1f5/bb308a30f7ca19b025029afe4f2be1f52.gif)
![源碼筆記第1天基礎(chǔ)加強(qiáng)反射properties_第3頁](http://file4.renrendoc.com/view/bb308a30f7ca19b025029afe4f2be1f5/bb308a30f7ca19b025029afe4f2be1f53.gif)
![源碼筆記第1天基礎(chǔ)加強(qiáng)反射properties_第4頁](http://file4.renrendoc.com/view/bb308a30f7ca19b025029afe4f2be1f5/bb308a30f7ca19b025029afe4f2be1f54.gif)
![源碼筆記第1天基礎(chǔ)加強(qiáng)反射properties_第5頁](http://file4.renrendoc.com/view/bb308a30f7ca19b025029afe4f2be1f5/bb308a30f7ca19b025029afe4f2be1f55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Junit單元測試JunitJUnitJavajavamain方法。Junit屬于第工具,一般情況下需要導(dǎo)入jar包,不過,多數(shù)Java開發(fā)環(huán)境已經(jīng)集成了JUnit作為單元測試工具。JunitJunitjavamain在測試類方法上添加注解@Test修飾的方法要求:publicvoid方法名(){…}test開頭,沒有@est1Junit…”publicclassJunitDemo_1{publicclassJunitDemo_1{publicvoidmyTest(){System.out.println("test");}publicvoidmyBefore(){}publicvoidmyAfter(){}測試}@est反classClass對象。Class對象解析將類的二進(jìn)制數(shù)據(jù)中的符號替換為直接JJava反射機(jī)制是在運(yùn)行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方j(luò)ava語言的反射機(jī)制。ClassClasspublicclassBean{privatepublicclassBean{privateStringid;privateString6ClassConstructorMethodFiledinstanceinvokeClass//1//1語法:類名Classclazz1=語法:變量Beanbean=newClassclazz2=//Classclazz3=添加構(gòu)造BeanpublicpublicBean(){}publicBean(Stringid,StringclassName)this.id=this.className=className;System.out.print("有參構(gòu)造:"+id);System.out.println(,className);}無參構(gòu)造publicvoidtestDefaultCons()throws//ClassbeanClass=//2Constructorconstructor=Objectbean=constructor.newInstance();}有參構(gòu)造publicvoidtestParamCons()throws//ClassbeanClass=//2Bean(StringidString =//3=/*}無參構(gòu)造,簡化版獲得實(shí)例publicvoidtestDefaultSimple()throws//ClassbeanClass=//2Objectbean=beanClass.newInstance();/*}擴(kuò)展:私有構(gòu)造(反射BeanprivateprivateBean(Stringid)this.id=System.out.println("有參構(gòu)造:}getConstructor()publicvoidtestPrivateCons()throwsClassbeanClass=//2Bean(StringidString//*getConstructor()將拋異常 *getDeclaredConstructor =//3Objectbean=/*}set、get方Bean類提供gettersetterpublicStringgetId(){publicStringgetId(){returnid;}publicvoidsetId(Stringid){System.out.println("setId方法執(zhí)行:id);this.id=id;}public方publicvoidtestMethod()throws//1Classclazz=//2,相當(dāng)于ObjectobjnewBean();Objectobj=clazz.newInstance();//3setId//3.1*格式:getMethod(方法名,形成列表MethodsetMethod=clazz.getMethod("setId",//3.2ObjectsetReturnObjsetMethod.invoke(obj我是參數(shù)System.System.out.println("set方法返回值: 3.1MethodgetMethod=3.2ObjectgetReturnObj=getMethod.invoke(obj);System.out.println("get方法返回值:getReturnObj);}擴(kuò)展:私有方法(反射privateprivateStringshow(){return"Bean["+id+"className}getMethod()publicvoidtestPrivateMethod()throws//1Classclazz=//2獲得構(gòu)造--兩個字符串形參--Bean(Stringid,StringclassName) //3 //3privateString//*getMethod(方法名,形成列表)將拋異常 *getDeclaredMethod(方法名,形成列表MethodshowMethod=4ObjectgetReturnObj=showMethod.invoke(bean);System.out.println("show方法返回值:getReturnObj);show方法返回值:Bean[ArrayListId}擴(kuò)展:main方法與執(zhí)Beanmainpublicpublicstaticvoidmain(String[]args)for(inti=0;i<args.length;i++){System.out.print(args[i]+",");}}mainpublicvoidtestMainMethod()throws//1Classclazz=//2mainpublicstaticvoidmain(String[args)MethodmainMethod=clazz.getMethod("main",String[].class); System.out.println("main方法返回值:aaa,}Bean類提供成員變量publicclassBean{privatepublicclassBean{privateStringid;privateStringpublicStringpublic字段的操publicvoidtestField()throws/*public*publicString//1Classclazz=//2,相當(dāng)于ObjectobjnewBean();Objectbean=clazz.newInstance();//3操作字段,進(jìn)行賦值,publicString//3.1*格式:getField(字段名FielddescriptionField=//3.2,//3.3ObjectfieldReturnObj=descriptionField.get(bean);}擴(kuò)展:私有字段(反射getField()publicvoidtestPrivateField()throws//Classclazz=//2,相當(dāng)于ObjectobjnewBean();Objectbean=clazz.newInstance();//3--//*getField()將拋異常 *getDeclaredFieldFieldclassNameField=//3.2classNameField.set(bean,"Bean的類名稱//3.3ObjectfieldReturnObj=classNameField.get(bean);/*}PropertiesPropertiesProperties可保存在流中或從流中加載。1、Map接口的子類,map23、它是一個可以持久化的屬性集。鍵值可以到集合中,也可以到持久化的設(shè)備(硬盤、U盤、光盤)上。鍵值的來源也可以是持久化的設(shè)備。4publicObjectsetProperty(Stringkey,Stringvalue)調(diào)用Map的方法putpublicSet<String>stringPropertyNames()publicStringgetProperty(Stringkey*PropertiespublicclassPropertiesDemo01publicstaticvoidmain(String[]args)Propertiesprop=new//prop.put(key,value); "," ", ", Set<String>keys=for(Stringkey:keys)//Stringvalue=prop.getProperty(key);System.out.println(key+"=="+value);}}}}將集合中內(nèi)容到文 需求:使用Properties集合,完成把集合內(nèi)容到IO流所對應(yīng)文件中的操publicpublicclassPropertiesDemo02publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=new "," ", ", FileWriterout=new 到流所對應(yīng)的文件prop.store(out,"save}}把指定流所對應(yīng)的文件中的數(shù)據(jù),出來,保存到Propertie集合pertiespublicpublicclassPropertiesDemo03publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=newFileInputStreamin=new//FileReaderin=new 到集合}}Beangettersetter方法,publicpublicclassBean2privateStringid;privateStringclassName;privatePropertiesprops=newUsergettersetterpublicpublicclassUserprivateStringid;privateStringusername;privateStringpwd;publicStringgetId(){returnid;}publicvoidsetId(Stringid){this.id=id;} publicStringtoString()return"User[id="+id+",username="+username+",pwd="pwd+}propertiesUser中publicvoidtestDemo()throws1Propertiesprop=new2FileInputStreamin=new//3,把流所對應(yīng)文件中的數(shù) 到集合UseruserObj=newUser();System.out.println("封裝數(shù)據(jù)前:userObj);System.out.println("封裝數(shù)據(jù)后:結(jié)果封裝數(shù)據(jù)前:User[id=nullusername=null封裝數(shù)據(jù)后:User[id=u001username=jack}propertiesUser中publicvoidtestDemo2()throws1Propertiesprop=new2FileInputStreamin=new//3,把流所對應(yīng)文件中的數(shù) 到集合//UseruserObj=newClassclazz=Class.forName("com.itheima_00_Bean.User");ObjectuserObj=clazz.newInstance();System.out.println("封裝數(shù)據(jù)前:Set<String>keySet=for(Stringkey:keySet)Stringvalue=StringmethodName="set"+key.substring(0,1).toUpperCase()+Methodmethod=clazz.getMethod(methodName,String.class);method.invoke(userObj,value);}System.out.println("封裝數(shù)據(jù)后:封裝數(shù)據(jù)前:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省南陽宛城區(qū)四校聯(lián)考2025屆中考生物模試卷含解析
- 資產(chǎn)抵押擔(dān)保合同書年
- 誠意金協(xié)議合同范本
- 大數(shù)據(jù)分析與應(yīng)用項(xiàng)目合同
- 辦公室裝修合同
- 房地產(chǎn)估價委托合同范本書
- 工程承包合同印花稅計(jì)稅依據(jù)
- 勞務(wù)分包建設(shè)工程施工合同
- 計(jì)算機(jī)技術(shù)服務(wù)費(fèi)合同模板
- 合作合同終止協(xié)議書
- 商業(yè)地產(chǎn)市場競品樓盤市場調(diào)研表格
- 社會治安視頻監(jiān)控系統(tǒng)項(xiàng)目技術(shù)及設(shè)計(jì)方案
- GB/T 709-2019熱軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- GB/T 14177-2003林業(yè)機(jī)械便攜式割灌機(jī)和割草機(jī)試驗(yàn)方法
- FZ/T 54007-2019錦綸6彈力絲
- DB11-T 291-2022日光溫室建造規(guī)范
- 2021-2022學(xué)年山東省淄博市高二(下)期末英語試卷(附答案詳解)
- 北師大版高中數(shù)學(xué)選修4-6初等數(shù)論初步全套課件
- 外貿(mào)業(yè)務(wù)員面試試卷
- 紀(jì)檢知識答題測試題及答案
- 創(chuàng)傷急救-止血、包扎課件
評論
0/150
提交評論