00:00
下一个话题呢,要大家聊一下匿名子类,要聊一下匿名子这个在开发中呢,用的也是蛮多的,那么我们看简单的看一下Java是怎么实现的,回顾一下Java,比如说这里好,我们先看一下匿名主义什么在和Java一样,可以通过包含带有定义或重写的代码块,诶大家看这里它的匿名指的是通过带有定义或重写的代码块的方式。来创建一个匿名的子类,匿名的子类好就是也就是说这个子类,你创建的这个子类就是临时用一下。因为你你每次这个构建的都可能是不一样的啊,所以说为什么为什么管它叫匿名子类呢?啊,因为这个类它相对说用一次你下次用不上了,所以它是个匿名的子类,那比如说在Java里边,咱们有一个抽象的,呃,类里面有个抽象方法,我们在创建的时候呢,你看它会提示这种方式就动态的你又一个A2,只要一打大括号,他说诶你可以去构建这个,但是呢,你要。
01:06
把这个方法给实现了,对吧,实现了好,我们来写一段这个代码。回忆一下Java。好,同学们,我们还在这个地方啊,我看匿名指令是不是还是属于基层的,那还属于基层,我还写到这。及基层这类案例了很多。写一个Java的吧,啊,匿名的。Anonymous。啊,就写一个啊。No no no。好,Class匿名之类。零一好,写这么一段代码。好,同学们看一下案例,比如说现在呢,我有一个这样的,我有这么一个抽象类,那你看匿名子类啊,在Java中。在Java中。哎,这个同学们以前应该都是学过的Java中去啊,去创建一个匿名子类对象,怎么做的呢?非常的简单啊。A2。
02:07
A2A261个A2好,其实他看这边就是一个代码块,一回车他说请你把它重写一下,那我就随便写点东西啊,比如说叫做CRY啊CRY。完事啊,那这个时候需要有一个分号啊,加号里面需要分号,我们调用它一下,点CRY就跑去了,这个就是这个我们叫匿名子类,指的是这个是匿名子类啊,就所以这讲是这一部分,就A2里面实现了一个CRY,这个呢,我们把它看成一个匿名子类,当然这个是一个啊匿名指令对应的实例,实例好我们跑一下。运行一把,我们可以看到呢,这边。诶,这边这这边为什么错了。这边错误的原因是为什么?来,我们先看一下。
03:00
啊,他说object这个string。Chapter。Not is not depend depend。他说,这个没有定义,供。好原因啊,我们看一下。看一下这地方是为什么?好,这个地方是因为我们。哪里写错了?哎,我们刚才这个是错的吗?我记得没有错,好像。我加了个什么就错了呀。我加了一个什么东西。26行。是这个东西导致的吗?好,我们来看看是Java里面这个东西放进去把它影响了的吗?看一下。这个地方我们加什么东西了。
04:01
没没有加什么东西啊。哦,这是我我换一个名称吧,我先换一个名称,好找到这边我们先换一个名称。好,换一个名称,把这个先注销。把这个注销。好,注销我先,呃,遇到这个情况呢,咱们不要着急,我们看看是是哪个地方导致的啊,我先把它注销了,我再运行一下。好,我再运行一下。好,首先这个地方是代码没毛病的啊,这个地方是没毛病的,就是我们刚才讲的Java中去创建匿名子类,这个没毛病,好,我们先把这个粘过来,然后再去调刚才的那个小问题。好,嗯,刚才我们讲的是这个Java匿名之类的一个回顾,好回顾完了过后,我们现在调调刚才的问题是怎么回事啊,刚才的问题是在哪里呢?是在。是在哪个地方有点找不到了,是这啊,是这我看是怎么导致的。
05:02
好,我们重新来念一个animal animal等于又一个ANIMAL3。好三好,然后呢,我在这个地方。哦,我在这个地方。来创建一段话。哦,创建一段话。好,然后呢,我在这写上一句话吧。Okay。Okay。好,然后我在这个地方去调用啊animal.c。OK,这也没有报错对吧,有没有报错啊,看看是哪里有问题哦。这个地方。这个地方是,呃,A3的话。诶是我们是从这啊,我们是从这来的,对吧,是从这来的,所以说我并没有去做那个道的,我现在再运行一下看看。
06:09
没没没没毛病,当时当初是怎么错的呀。不是。啊,应该是刚才哪个地方写写错了一点是吧,但是这个这个大家应该能看到,是就是我刚才那个意思没没有问题啊,没有问题,可能当时是其他什么哪个地方,呃,字符写错了,或者哪哪个地方写错了的,但代码是正确的,没有任何问题,大家看的的确确是我们这输入的,OK好吧,啊没没有毛病好。好,我们说到这儿啊,说到这儿接着我们往下看。好,刚才我们说的是Java里面的一个匿名子类的一个使用,好把它回顾一下,好,匿名子类来走一个。我们说了一下匿名之类。好,写到这匿名子类,我们说了一个什么东西呢?回顾了一下Java这一块的匿名子类的一个基本使用,对吧?嘿,把案例给咱们同学们拷过来,案例如下。
07:11
案例。案例就是我们这做了一个Java。Java中的Java中的匿名子类的一个回顾,匿名子类使用的回顾,对不对,好给他来一个。这个东西,那么我把代码呢,给同学们放到这边来,我们是这用了一下learning啊,就这就这个案例啊,就这个案例。就这个案例啊内好把它同学们拷贝一下。放到这儿。好,这是Java里面的,那么下面呢,我们来看看SKY里面的匿名子类,它是怎么用的呢?好,同学们可以看到开这个匿名子类跟Java的匿名子类其实非常的相似。
08:00
非常的相似,它的使用方法几乎跟他一样。几乎跟他一样,你这里比如说这里有一个抽象的monster,那么我在这里去溜一个抽象匿匿匿名,呃,去创前它的一个匿名指令呢,同动态的把它实现就可以了,那么我们来看一个小案例。好,我在这里呢,写一段代码。啊,写一段代码,SC叫scan。是开了里面的no name or匿名的一个DEMO。零二啊,零二好,我们来看一下代码。运习一下,同学们来走一个主方法,然后呢把它粘过来啊,时间的关系呢,我就直接用好好写完了,写完以后我们来玩一把,好比如说现在呢,我要去创建一个monster,我直接6MONSTER好同学们看它已然可以这样去玩啊,你看这样子。
09:01
可以的。啊,这样是可以的。这个就实现了,实现那么我在这里面写上一句话。写上一句话,比如叫做OK。OK,好,就是代码就没问题了,我们来跑它一下啊,Master点我们的CRY。比如说这个叫妖怪嗷嗷叫。好,写一句话啊,妖怪。妖怪。哦哦。好大家看一下,那那你看我这方其实也是做了一个匿名,匿名之类,然后呢,实例化了一个对象啊,就monster,那么我们跑一下。啊,跑一下。好的,跑完过后就跑起来了,那同时同学们也看到哈,就是因为你这个是一个抽象类,其实本质上呢,这个override其实也是可以拿掉的,我们看有没有报错。啊,其实你就是一个实线啊,实线我们看看这样写有没有报错呢,跑一下啊,为了看到有区别,我后面带一个笑脸。
10:07
诶,带个笑脸,看有没有变化。跑一个。好,我们来证明一下这个这个观点啊,我们发现没有任何问题,说这个override你可以写也可以不写啊,OK,那么就如果它系统自动呢会生成,我们就干脆生成吧,保留到这里。但是看这个语法实际上是可以拿掉的。好,这是我们Java sc的匿名子类的一个小案例,也给同学们板述到这。好。给大家写到这里啊,这是我们看的匿名子类的一个使用好标在这里。具体的代码呢,我就拿过来了。啊,我就拿过来,就是我们的master。好朋友们,我们接着往下看啊,接着往下看。那。这个就匿名,此类我们就说完了。
我来说两句