枚举 enumeration

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ---------------------- 

        由于最初对计算机语言的掌握不是很好,一直以来以为枚举在java中应用不多,在学完基础部分和高新技术后,发现枚举其实是一个很重要的东西,尤其在交通灯系统和银行系统中都有应用,而且所占比列不小,加之在基础部分的io技术中也使用到了枚举,所以根据最近所学对枚举的使用做一点总结。

        1. 首先java的枚举是jdk1.5以后才有的新特性,虽然只是一点小功能,却给我们的开发带来了极大方便。张老师的星期演示就是一个很好的列子,如果普通类,要限制该类型变量只能是列举出来的固定值中的一个,会有很多麻烦的地方,但是用了枚举,只需将实例对象一一列举即可,极大的方便了代码开发。

        2. 枚举的特点是:该类实例对象只能是例举出来的若干个值中的一个,这在需要使用特定值来限定取值范围的时候应用较多。

        3. 在io的学习中,文件合并需要将多个输入流合并为一个,使用到了SequenceInputStream对象,但是该对象的参数是一个封装了各输入流的枚举,这里又用到了Collections工具类的静态方enumeration,他将一个Collection装换为枚举。

        4. 在switch语句中,其参数表达式只能接收两种类型的值,一是int类型,再者就是枚举了。

        5. 在交通灯系统和银行业务调度系统中,使用到了枚举,而且在这两个例子中,枚举的使用都有举足轻重的地位。因为交通灯和和服务客户类型都是固定的几个值,因此使用枚举得到了极大方便。

        在张老师的高新技术中,对枚举作了特别的讲解,下面是针对视频内容做的一点总结。

        1. 枚举的构造方法时私有的,因为不能让外界创建该类对象。其构造方法可带参数,即枚举内部也可以由私有属性,在创建枚举对象时将对应参数进行传递。

        2. 当枚举只有一个元素时,他就相当于一个单列。单列的特点是构造器私有化,内存中只有一个共享的该类对象。

        3. 定义抽象方法,让子类去实现,即在创建本类对象时进行实现,可以省去大量的ifelse语句,个人认为这对运行效率有很大提高。

        4. 如果枚举的构造函数的参数使用到了自身类型的对象,那么可以使用与该对象的字符串表现形式,然后使用valueOf方法得到本来对象,其实就是换了个方式而已。

        5. 在使用枚举时,如果一个枚举对象被用类名.实例的方式获取,那么该枚举所以元素对应的构造器都将运行一次。

        6. 另外还学到了枚举的nameordinalvalues等方法,需在以后的使用中加以注意,如name方法在银行系统中就进行了应用。 

        以上知识均来自于java视频教程,因为学习周期较长,很大部分可能并不完善,在以后的学习和对枚举的使用,将足步增加对枚举的了解。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ---------------------- 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值