00:00
好了,同学,那咱们接着上课啊。呃,咱们接着来喂喂喂。嗯,那咱们上节课呢,是关于这个接口这个。Justice。随便写吧,随便写啊行,那这块的话,这个就是有什么,就是有什么想法想跟我聊一聊的,对吧,就可可以说啊,可以说没问题啊,可以写一点东西啊写点东西,呃,那行了,那咱们来看一看啊。呃,上节课我们是说到哪了呢?我们是还是讲这个接口的基础语法这一块,对不对,那其实上节课呢,我们主要是在这里写了两个例子,来,我把class文件删一下。抓紧时间啊,删掉之后其实就写了三个程序是吧?哎,那我们看一下这个第二个程序,这里说了个五颗星,说当一个非抽象的类实现抽实现接口的话,必须将接口中所有的方法全部实现,或者覆盖或者重写,也就是在这里呢,我写了一个接口,接口里有两个方法,然后在这里呢,我去实现了我这个接口之后啊,要求我必须把这个方法诶覆盖或者是重写,或者是实现,这个实际上我们之前已经学过了,对不对,哎,我们之前经讲过了,这不算一个新的内容啊,然后紧接着在第二个这个,这在第三个T03程序里边,我主要是想跟大家说呀,说什么呢?说我们这个类啊,实际上是可以怎么着啊,实现多个接口的啊,可以实现多个接口的。
01:28
好,这是这个各位啊,那行了,那咱继续再往下,再往下来TEST04。来这边呢,我们写一下啊,就是说。继承和实现都存在的话,代码应该怎么写?来public class,然后TEST04,然后呢,Public static void。
02:06
继承和实现都存在的话,我们代码应该怎么写,什么意思呢?比如说现在我在这里有一个什么呀,有一个这个呃类啊,这个类呢,假如说是animal。啊,Animal,然后animal这个类呢,这是一个负类,接下来我在这来一个什么呀,呃。嗯,来一个这个。K吧,还是这个啊。然后呢,我接下来在这来一个什么呀接口。这个接口呢?Interface。叫liable。嗯,然后里边有个方法叫FLY。
03:00
这叫可什么飞翔的接口?这是个接口啊,就相当于是一是是一对什么呀,翅膀啊,像一对翅膀,各位啊,一对翅膀。那大家注意看啊。我这里里边有一个什么呀。呃,方法就先不写了啊,这是一个动物类啊,副类,然后这是一个接口,可飞行的接口,其实相相当于是一对翅膀,然后这个是什么呢?是这个。动物类子类。猫类,然后继承谁呢?Animal,然后S去实现什么呢?哎,Fla。这个flab就是个接口,各位接口是一,这个接口是表示一对翅膀,这一对翅膀呢,通过这个接口插到什么呀?猫身上变成肥猫。注意看啊,就说呀,就是这个label是一个接口。
04:06
是一对翅膀的接口啊,是一对翅膀的接口,通过什么呀?接口干什么呀?通过这个接口,通过接口插到什么呀?插到这个猫。猫身上。啊,让猫变得可以什么呀?飞翔叫飞翔的猫。好,大家看,如果说这我我主要是想给大家讲什么呢?想给大家讲一下这个,呃,继承和实现如果同时出现的话,代表怎么写,注意啊,是继承的这个关键字在前。Implements关键字在后,你记住这个就行了啊,叫关键字。在前啊,关键字在后。啊,那么大家知道子类去继承父类去实现这个接口还可以这样猫继承了动物类,顺便准备实现非接口啊,就是其实接口就是类似于能插拔的叫接口啊,就是能插能拔的是接口,就是能插拔的。
05:15
能。插拔的就是接口,没有接口你怎么插拔呀,对吧,没有接口你怎么插拔呢。是不是你就像那个这个叫什么呀,内存条插到什么呀?哎,插到这个这个这个主板上。对不对,哎,他们之间呀,有接口。对吧,内存条可以更换,明白吧,内存条是可以更换的啊,可以更换的,那么这个叫这个这个这个是这个。接口,接口通常模拟的是行为动作啊,接口通常模拟的是行为动作,接口通常提取的是行为动作啊,这个接口表示可飞翔的接口啊,然后呢,FLY表示飞翔,然后接下来有了这个接口之后呢,把这个接口插到这个猫身上,猫呢就变得会飞了。
06:14
它猫呢是一个动物,所以呢,当你这个猫啊,去实现这个接口之后啊,哎,你在编译就报错,你看编译一下啊,Java c编译test04.java你看。报错了,为啥报错?说那个猫不是抽象的,并且未覆盖flag中的FLY方法,就是你这个FLY方法得重写,你这个方法必须在这写,你必须得写上,你不写不写不行。啊,所以呢,你就写上了,接下来来你就写上。飞猫。飞猫起飞啊,飞猫起飞。啊呃,翱翔,翱翔太空的一只猫啊,很神奇。我想做一只猫。啊,就随便说出一句话吧,行吧,那这样的话,我们在这个位置呢,我们可以怎么着啊,来创建对象。
07:10
啊,可以创建对象,那么创建对象怎么创建,你想让他非你创建animal,你用animal不行啊,你得用什么呀,用这个叫Fla。啊,然后呢,F另一个什么呢?K。可能现在啊,表面看这个animal没用吧,哎,表面看啊,Animal类没起作用啊,对不对,没起作用,现在先不用管它啊,这个是不是多肽各位负类型引用指向子类型对象。对吧,所以接下来F点什么呀,FLY。啊。Fla f负接口指向一个子类型对象嘛?f.FLY是不是?那接下来我们来看看编译就没问题了,运行你看。运行你看通过了吧,飞猫起飞。
08:02
是不是好,那么接下来假如说你有一个什么呀,有一个蛇类。蛇类啊,嗯,如果你不想让它飞。不想让他飞。怎么着啊,不想让它飞可以不实现什么呀,这个flag接口对吧?哎,你可能只是snake蛇去继承animal就行了。如果你没有去实现这个接口,就表示你不不能飞呀,对吧?哎,没有实现这个接口表示你没有翅膀。啊,没有给你他翅膀。你肯定不能飞啊,肯定不能飞,那么这块如果说你想让它飞对吧,哎,你比如说你有一个class对吧,Pig猪去继承什么呀,I animal,那么implements去实现Fla接口就表示你可以飞了啊想飞。
09:11
想飞就插,插什么插翅膀。这个接口啊,哎,那么这个时候呢,哎,你就有一个方法叫什么呀,好嘞。啊,出来。来,System out。啊,比如说我是一只会飞的猪。啊,猪猪很可爱是不是?哎,我是一只会飞的猪,那这样这样的话就写是 flyablef2对吧,又一个谁呀,Pig啊pig pig是猪吧,来在这F2点什么呀,FLY你看是不是啊,你看这同一个接口调方法,最后不同的效果。是不是同一个接口调方法最后不同的效果?哎,你有没有发现很有意思的现象,就是同一个接口。
10:03
对吧,调用什么同一个FLY方法。最后的执行效果怎么着不同?对吧,因为你插在不同不同的动物的身上嘛,所以这个时候呢,你再去编译这个程序,你看再去运行。啊,我是一只会飞的猪。飞,飞了,飞了。Pig继承animal就这里啊,我主要不是为了讲这个接口有什么用,因为还没有到那个时候啊,我现在主要想给大家讲的是什么呢?想给大家讲的就是这个继承和实现,如果同时实现的话,如果同时存在的话,先写哪个后写哪个。明白吧,哎,先写哪个后写哪个,那有的人说老师我现在在这儿有一个class。嗯,这个class呢。嗯,叫fish吧,鱼是吧?哎,这是个鱼这样的一个类啊,假如你不去继承这个animal的话,我问大家他是不是在这默认继承object,你们知道吧。
11:12
对吧,Employs去实现什么呀,这叫做。接口啊,就默认实际上是有继承的啊,默认实际上是存在继承的啊,默认继承谁啊object明白吧,啊就是说你这个代码你虽然是这样写的,怎样写的,虽然你这块没有写这个继承,它是有这个继承的各位。啊,没写没写ex ten啊也是有的,默认继承谁啊object啊行了,那这块的话我们就说到,但这个编译报错啊,于现在实现了这个接口,但是没有实现方法是不是,哎没有现方法,所以这个时候你想实现方法,你在这还得写一个方法,对不对,这个方法呢。
12:02
呃,叫做FLY啊是不是哎。对吧,我是六眼飞鱼。飞鱼听说过吗?六言。飞鱼。啊,这个叫流言蜚语是吧。流言蜚语啊。六眼飞鱼啊是吧,那这个时候呢,你你你这块你FLY呗, flyablef31个 fishf3点是不是你再去编译再运行零四啊。对吧,我是流言蜚语啊,对了。爱真的需要勇气,勇气啊,去面对流言蜚语,嗯,有道理啊,嗯。好了,那这样的话,咱们接口的基础语法就学完了,各位啊,接口的基础语法就学完了啊。
我来说两句