00:00
打开咱们这个dary来看下,我们这个前几天讲这个内容,主要呢,我们上来就是讲这个枚菌类和注解以及集合的一部分,那今天呢,我们继续来讲这个集合,首先呢,关于枚举类它的一个使用说明啊,这块我们在这个PPT当中都有啊,在代码当中都有,这直接呢我们就拿过来了,这呢关于它的一个使用的理解,那这个就直接拿过来,这个对象呢,只有有限个,只有啊对类的对象只有有限个,有也不行,哎,这个一大瑞这个bug还不少呢,谁有有限个确定个我们称此类呢,就我们举类了,哎,当大家定义一组常量神呢,强烈建议使用美举类,这个就是我们后边使用的一种场景,这个大家呢,多去关注一下这个有意识的去定义啊,你要忘了话呢,那你自己去写这种自定义的枚举类啊,其实还挺繁琐的啊,建议呢,就是你能明确它就是个枚举类了。
01:00
啊来使用我们应用来定义啊,这个对象单列模式的一种实现,具体的话我们提到两种方式,JDK5.0之前我们需要自定义,自定义的话呢,写法相对就比较繁琐一些,那具体的步骤咱们就以咱们写的这个C为例啊这呢举个例子,哎,把这个代码呢,CTRLCL这个呢,直接拿过来就行了,嗯,那后边呢,咱们就不建议大家这样去写了,毕竟呢,5.0呢是比较靠前一个版本了,现在大家去公司开发中,JDK没有5.0之前的了啊,不过也有之前的,这个我记得也是两三年之前啊,以前咱们有一个同学老早了,一个同学毕业了,然后他后来是去的三星,然后三星的话也在北京啊,这个你感觉说三星这个还挺挺好的一个公司,感觉是是吧,但是它里边用这个GDP呢,就五五之前的啊,当然把这个同学难受坏了啊,像一些泛型啊等等很多新特性,咱们都是5.0新加的,什么自动装箱拆箱啊是吧?哎,完全都没有。啊,这个用五之前的用的非常崩溃啊,就很多新特型都用不了,那像这样公司呢,基本上现在也不会出现了啊,就是现在用的都是五以后的啊,至于说你说是不是八以后的,这个不好说啊,但绝对都是五以后的,还有五之前的,那基本上你就可以放弃不去了,是吧,太老了啊啊那就意味着以后我们定义枚举类呢,其实用不着我们去自定义,当然呢,我们这块写一个呢,让大家呢也非常清楚的知道哪块是什么东西啊,因味呢,毕竟我们自定义枚举类这个事吧,啊用in关键字定义枚举类累这个事吧,你看这个格式呢,太简洁了,有的时候你都有点迷糊啊,说这这这到底什么东西,其实这个呢,就是我们造的当前这个类的对象,只是说这个格式呢,我们呃,在自定义的基础上呢,给你简化了,所以你首先也得知道自定义里边呢,这些结构都是用什么权限来修饰的,为什么要这样来声明,哎,这个得先了解啊。
02:51
那这块呢,关于这个使用in关键字来定义的这个情况,咱们这也列了一个例子,这一周后边呢,这个吐词论通常的时候呢,我们就不建议呢,去做一个,呃,这个这个重启了啊,直接呢调我们innu里边的这个to了,呃,这个其实我也顺便粘过来,咱们关于实现接口这个事了,所以这块我就可以呃先先不整这么复杂吧,先整一个比较基本的啊,就是这个innu,然后咱们写的时候呢,这不就管到这了。
03:30
嗯,先这么着啊,后边的话呢,这个twoth three呢,很多时候咱们都不去再重写了,直接用这个重写好以后的那个innu大的in,用这个类当中的那个图司na,它里边呢,就相当于直接呢,就只是return一下你的这个常量名啊,Show这块也暂时不要了,呃,先来体会一下,它这呢是咱们说的一个比较基本的一个一六母来定义的酶一类的一个情况啊。成,那么这个呢就呃这个呢,多说一句就是啊啊在这写着呢,就我们自定义这个枚举类呢,它是继承于这个类的,咱们get class也看到了,它呢不是继承于咱们的这个object了啊那因为呢,你是继承于这个innu这个类的,这个类里边呢定义了一些方法,所以呢,咱们这块写完的C1呢,就直接呢可以用一些它的复类当中的方法了,这呢,我们主要呢,就提到了这样的几个方法,对value value of,还有这个twoth string,嗯,这个twoth string咱们说了,一般咱就不用再去重写了,那它这个twoth string呢,它返回的是什么呀?对,就是咱们这个枚举类对象的名称,就相当于咱们原来叫变量名啊,但是现在不是变量了,算常量名,嗯,然后呢,这个values呢,它返回所有的枚举类对。
04:58
这项构成的数组,哎,这不就叫C1你们一类的这个数组啊,成这呢是咱们说的这个事情,下边呢,又提到叫value of,呃,Value of,通过这个字符串咱们找到叫这个名的那个,呃,枚举类对象啊这个就返回了,同时还注意就是你要写的这个名不对的话呢,还抛异常了,哎这个意思啊,行,把它呢我们粘过来,这涉及到这样的几个方法啊,那就这个数我就不写了,那上面这不是因为没写数嘛,先好,那这个这个这个数也不要了,就啊。
05:39
行,这呢是提到这样的三个方法,其实比较简单啊,比较简单,那再往后,那么我们innu呢,其实就算是说的差不多了,那后面呢,又多加了一个,就关于这个让类去实现接口,那如果简单的只是让类实现接口,其实也没啥可说的,那面向对象呢,都讲完了,那现在呢,我们提的就是让枚举类的对象分别去实现接口中的方法,哎这个事呢比较特别,咱们呢就专门呢讲了一下啊这呢我们提到一个接口叫in inform,那然后呢,我们这个在每一个对象的这个后边呢,去实现了这个,哎,抽象方法。
06:17
哎,进而的话呢,每个对象调售的时候呢,都执行的是他自己的这个特性啊,是这块比较特别一些啊成那这块呢,我就把它粘到这儿吧,这样来补一个这个来大括号跟大家这个对应一下啊,主要呢,在这块来大家去体现我们所说的这个点啊成呃这呢就是关于这个让们一类对象去实验结果的事儿,这就完了。嗯,其实这个最终总结一下,就大家呢,以后写枚举类的话呢,就动用in去定义了,呃,然后呢,你稍微有个意识呢,去使用枚举类,就是需要定义一组常量的时候,就比如说咱们一开始在讲的时候呢,在这些情况下啊,以后呢,你需要涉及到一个类,这样去设计表示几种状态啊,有有限的几个值,你就用酶菌类去做啊,就别的就不用多说了啊。
我来说两句