现在的位置: 首页 > 综合 > 正文

黑马程序员_Java高新技术部分学习笔记

2018年02月17日 ⁄ 综合 ⁄ 共 1509字 ⁄ 字号 评论关闭

                                                                 ----------------------
android培训java培训、期待与您交流! ----------------------

JDK1.5提供的基本数据类型上装箱个拆箱
装箱:把一个基本数据类型付给一个引用型数据类型
	Integer obj=3;
拆箱:System.out.println(Obj+12);//Integer对象不支持加法运算这里是一个自动拆箱的操作
	下面是张老师视频中的例子:
		Integer i1=13;
		Integer i2=13;
	System.out.println(i1==i2);//答案是true
	
		Integer i1=137;
		Integer i2=137;
	System.out.println(i1==i2);//答案是false
原因是:当自动装箱的Integer对象的值在一个字节范围之内-128到127之内那么就会缓存起来放在池中以后再用如果超
出的范围就会新开辟一块空间储存类似于(new 类名)
由以上这个原理引出了享元设计模式:有很多个小的对象他们有很多属性相同把他们变成一个对象,那些不同的属性变
成方法的参数称之为外部状态而那些相同的属性称之为内部状态

-----------------------------------------------------------------------------------
枚举类型
为什么要用枚举
就是让某个类型的变量的取值只能为若干个固定中的一个,否则编译器就会报错,枚举可以可以让编译器在编译时可以控
制源程序中填写非法值而普通变量的方式在开发阶段无法实现这一目标
则样做为了某个值的安全性和程序的健壮性
	例如 星期 和男女 这样
张老师在视频中将的用普通量类实现枚举功能是把WeekDay定义为一个抽象类定义了7个用static和final修饰的静态常量 和 
并写内部类实现了自己的NextDay()方法每一个独立的类分别里实现这一功能
 在重新定义了枚举类型的WeekDay时 发现可以更快捷更明了的得到想要的结果 
 枚举中每一个变量都是对象
 		System.out.println(week.ordinal());//打印对象所在的位置从0开始
		System.out.println(week.name());//打印当前对象的名字
		System.out.println(Week.valueOf("星期二"));//将讲一个字符串对象转换成枚举值(和定义好的枚举同名)
		Week.values();//返回的是枚举中全部枚举值的数组 
枚举中的构造方法必须都是私有构造如果需要调用有参构造那么直接在元素后面直接这样写
	SUN(参数类型),MON,TUE,WED,THI,FRI,STA
枚举就相当于一个类,其中也可以定义构造方法成员变量普通方法和抽象方法。
枚举元素必须是枚举体中的最开始的部分 枚举元素列表的后要有分号与其它元素分割。把枚举中的成员方法变量等放
在枚举元素前面编译器会报告错误
枚举只有一个成员时就可以作为一种单例模式的实现
----------------------------------------------------------------------------------

 

                              ----------------------
android培训
java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima

抱歉!评论已关闭.