資源描述:
《java內(nèi)部類日期類》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、一:內(nèi)部類:1:內(nèi)部類(成員內(nèi)部類):一個(gè)類定義在另一個(gè)類里面,和成員變量位置相同,具備成員變量的特征。局部?jī)?nèi)部類:(可以參考局部變量和成員變量)(用的比較少):定義在方法里面,只能訪問(wèn)final定義的變量匿名內(nèi)部類:沒(méi)有名字的類。(非常常用)。定義方法類似于一條語(yǔ)句??梢栽L問(wèn)宿主的私有變量,可以模擬多繼承。擴(kuò)展:靜態(tài)成員內(nèi)部類(內(nèi)部類前面加上static),只能訪問(wèn)外部類的靜態(tài)成員和靜態(tài)成員方法。不能訪問(wèn)實(shí)例成員內(nèi)部類,不能訪問(wèn)實(shí)例成員變量。外部類前面不能加private,只能是內(nèi)部類前面加privateClassAextendsc
2、{Inta=10;Privateintb=9;Privatestaticintc=8;Classbextendsd{//可以看到宿主類的實(shí)例私有變量}StaticClasseextendsd{//可以看到宿主類的靜態(tài)私有成員變量}}練習(xí):1:利用匿名內(nèi)部類實(shí)現(xiàn)Iterator接口,將數(shù)組內(nèi)容迭代顯示Java11/niming1.java2:利用匿名類自定義比較器。二:日期類:1:java中基本時(shí)間的基本表示方式:(long)2:java里面提供了Date類型表示時(shí)間和日期,date類是對(duì)long類型的時(shí)間日期的封裝。3:java提供了
3、Date,Calendar類型做歷法的抽象longdatecalender---------àdate.setTime(long)Cal.setTime(date)date.getTime()<----cal.getTime()<-----------longti=System.currentTimeMillis();得到當(dāng)前時(shí)間Datedate=newDate();//得到系統(tǒng)當(dāng)前時(shí)間Calendarcal=newGregorianCalender()得到系統(tǒng)當(dāng)前時(shí)間4:獲取當(dāng)前時(shí)間,并按照指定格式顯示:格式化時(shí)間:SimpleDa
4、teFormat():可以實(shí)現(xiàn)日期和字符串之間的轉(zhuǎn)換Stringformat=”yyyy-MM-ddHH:mm:ss”;(或者小寫(xiě)hh)SimpleDateFormatsdf=newSimpleDateFormat(format);Datenow=newDate();System.out.println(sdf.format(now));Calendarcal=newgetInstance();Cal.setTime(newDate(0));System.out.println(sdf.format(cal.getTime());5:
5、把字符串解析為時(shí)間格式:SimpleDateFormatsdf=newSimpleDateFormat();Stringbirth=”1980-10-1023:10:05”;Datebirthday=sdf.parse(birth);練習(xí):1:實(shí)現(xiàn)超市商品促銷日期計(jì)算(可以查api)生產(chǎn)日期:2011-1-22保質(zhì)期:3個(gè)月過(guò)期日:2011-4-21促銷時(shí)間的確定:過(guò)期日前兩個(gè)星期的星期五現(xiàn)在給您五個(gè)產(chǎn)品的生產(chǎn)日期,求出什么時(shí)候開(kāi)始促銷方法:DatespaceDate(StringgDate,intperiod){}gDate:生產(chǎn)日
6、期period:保質(zhì)期,以月為單位return:返回日期類型方法1:importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;publicclassPromotionDate{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSimpleDateFormatsd=newSimpleDateForm
7、at("yyyy-MM-dd");StringgenerateDate="2011-5-22";intperiod=3;System.out.println("生產(chǎn)日期:"+generateDate);System.out.println("保質(zhì)期:"+period+"個(gè)月");System.out.println("促銷開(kāi)始日期:"+sd.format(specDate(generateDate,period)));}privatestaticDatespecDate(StringgenerateDate,intperiod){Da
8、tespec=newDate();Calendarcal=Calendar.getInstance();SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");try{