欢迎来到天天文库
浏览记录
ID:42615907
大小:61.66 KB
页数:6页
时间:2019-09-18
《黑马程序员_黑马笔记第8蛋:java基础加强》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、看完张孝祥老师的java基础加强视频,觉得有很多不错的地方应该记录一下,以便FI后复习。听说张老师年前不幸英年早逝,作为张老师的视频学生,也表示我们从此少了一位负责、热情的好老师。作为学牛,应该拿出色的学习成果來回报老师了。实质上基础加强就是JDK1.5的新特性的总结,对于JDK1.6的我以后的日记会记录。一、从基本数据的白动装箱,來说一说亨元模式看到张老师视频的11集,说道了这么一段代码:publicclassAutoBox{publicstaticvoidmain(String[]args){Integeri1=13;lntegeri2=13;Sy
2、stem.out.println(il==i2);}}当然将13这个int基础类型的数据赋值给Integer基础类型包装类,这个过程进行的自动装箱。这是JDK1.5的新特性(自动装箱和拆箱)额,这个白然明白,一开始觉得既然白动装箱,当然要在堆内存'I1new两个对象了,來装两个13,但是心里也感觉有点浪费空I'可,后來打印System.out.println(i1==i2);结果是true,还自认为他们比的是值不是地址,应该重写了equals方法,但是用的是==不是equals方法。老师说是他们放在缓冲池屮,不会创建两个不同的对象,前提条件是:-128
3、到127之间。当il=135,i2=135时,才会有两个不同的对象,是因为不在-128到127Z间,缓冲池里不存储。这就是所谓的享元模式。也就是说javal.5将小的整数-128到127之间采用亨元模式來存储到缓冲池,对于大的整数则不采用。(flyweight享元模式)二、说一说枚举类型(JDK1.5新特性)在jdkl.5Z前,没有枚举类型,想实现枚举,用的是抽彖类实现。packagecom.heima;publicclassEnumTest{publicstaticvoidmain(Stringl)args){System.out.println(星
4、期天的下一天是:+WeekDay.SUN•nextDay().toString());System.out.println(®期天的下一天是:+WeekDay.SUN.nextDay());}}/***没有枚举Z前,在jdkl.5Z前,用的是抽象类。*@authorming**/abstractclassWeekDay{privateWeekDayO{}〃使用匿名内部类,new捕彖类publicstaticfinalWeekDaySUN=newWeekDayO{@OverridepublicWeekDaynextDayO{returnMON;}};pu
5、blicstaticfinalWeekDayMON=newWeekDayO{@OverridepublicWeekDaynextDayO{returnSUN;)};publicabstractWeekDaynextDayO;/***覆写toString()方法,为了方便打印输出*/publicStringtoStringO{returnthis==SUN?SUN:MON;}}输出结果:星期天的下一天是:MON星期天的下一天是:MON注:采用抽象方法代替ifelse,改写为一个个独立的类。当然nextDay要是抽彖方法。现在用jdk1.5來使用枚举类吧。
6、写了一个最复杂的enumopackagecom・heima;publicclassEnumTest2{publicstaticvoidmain(String[]args){WcckDay2wd=WeekDay2・FRI;Sys(em.ou(.println(wd・name());System.out.printIn(wd.ordinal());System.out.println(WeekDay2.valueOf(WEN));System.out.println(WeekDay2.valueOf(WEN).toString());System.out.
7、println(WeekDay2.values().length);System.out・println();TraficLamptf=TraficLamp・GREEN;Systcm.out.print】n(tf.namc());Systcm.out・println(tf・ncxtLamp());[publicenumWeekDay2{SUN(l),MON,TUE,WEN,THI,FRI,SAT;privateWeekDay2(){System.out.println(firstconstructor);}privateWeekDay2(intday)
8、{System.out.printin(secondconstructor);}}/***最复
此文档下载收益归作者所有