00:00
这呢,咱们就把这个接口当中这个基本定义,以及呢,我们这个类呢,和接口之间这种关系呢,我们就说清楚了,或者换句话说呢,就是这个接口在开发当中,我们到底该怎么用,因为呢,它本身呢没有定义构造器,那它要是用的话呢,也得是通过我们这个类去体现,咱们Java呢叫面向对象,面向对象呢,就是我们得通过这个类去扭对象,那这个必须呢,我们把这个接口呢,得转化到这个类这个层面去使用才可以,就是我们这个图里边的下边这样的一些结构,包括这个也是一样,还得呢,是通过我们这些类的对象去去去体现这个功能啊,我们通过对象去调功能,那这个接口的话呢,必须得依托于我们这个对象了,我们通过这个这样类呢,去实现接口这样一个方式,那下边呢,我们就要提出来,在这个Java里边这个规定呢,是算是新的这个点了,就是说Java这个类呢,实验接口话,实验接口的话呢,我们体现为呢叫可以多实现诶Java类。Java类说可以实现多个接口啊,这呢我们称作叫多实现了,这个多实现的话呢,我们说一定程度上呢,就打破了Java这个类的单集成性啊,叫打破也行,或者叫弥补了这个Java这个类的单继成性的一个局限性。
01:17
单继承性的一个局限性问题,其实本身的话呢,这个呃,单继承的话呢,我们说有点局限性了,本身我们能够实现接口就已经算是打破了,那你不管能够实现接口还可以多实现,就是这样更好了,就那举个例子,就比如说咱这呢写了一个接口,这儿呢写了两个具体实验类,我这呢再写个接口,这个呢叫interface,诶咱们这呢,就还有一个叫诶可以攻击,具有攻击性,这个攻击呢叫attack,这个我写个叫attackable吧。行,那这呢,这个属性或者要常量,我暂时呢就先不提供了,我就写个avoid叫attackct,这是一个抽象方法,省略了public abstract,那这个接口声明完以后,我们这个子弹可以再声明一个class子弹。
02:10
是吧?让他呢,去一方面呢,是咱们这个叫Fla。就子弹呢可以飞,那同时这个接口的话呢,我们就用逗号,逗号后边呢,这个叫attackable,就是可以实现多个接口,那实现多个接口那就看你这个类,你如果想去实例化,那就必须呢,就要实现我们这接口中中的这个所有的这个抽象方法了,那这呢,我们就点一下,具体的我就里边不去写了啊就是我们自动生成的这个事儿了,那这呢,我们提一下,就是我们呢,这个可以实现多个接口,那要想能够去实例化,这个又回到上面这个话,就是这个你去实现,嗯,实现我们这个接口中的所有的处方方法,这样你才可以去实例化,那么有这个实现了,咱们前面也讲过继承了,就把这俩和到一起。
03:06
搁在一起的话呢,就以它为例吧,这呢我们实现俩接口,那这个类往哪放呢?如果它要是有显示的负类的话,写到前面,写到前面就是先写这个叫继承,这呢比如我们就写个object了,显示的把这个给object类写出来了,说先呢是继承负类,然后后边呢写实现具体的接口,所以说呢,有了这个实现以后,我们这块这个格式哈,格式的话呢,就是class,这呢我们写一个,比如我叫类A了,先呢让它去extend,这个呢,我们称它叫负类,然后接着呢,你在ments这个接口,比如CC逗号,DD逗号EE可以有多个,就这样的一个形式。好,这呢就是我们说有继承有实现这样的整体的一个形式,比如说呢,咱们controlrl shift t,大家来看一下这个string string这是咱们比较常用的一个类了,这个string呢,一进来它这没有显示的去写它的类,那就是它继成一个了,然后implements,你看它这个实现了好几个接口,中间呢就用逗号隔开,哎就相当于呢,对它本身来讲,它也实现了一个功能的扩展,那像这个sable,这我们后边讲这个流的时候呢,会说它呢表示我们这个string呢,其实是可以做序列化的,序列化操作,进行一个网络的传输等等都没问题,然后comparable呢,表我们这个这个这个词string呢是可以比较大小的。
04:34
就是我们这个每个接口呢,它都具有相应的一些功能,那你实验这个接口呢,就具备了相关的这些功能,那就这个意思,包括呢,我们ctrl shift t看一下这个叫integer,我们说的这个包装类,这个包装类的话呢,它是继承了我们这个副类,然后实现了这个接口,也是呢,可以比较大小的,整体的格式的话呢,就是先写继承后写实现,诶这样的一个形式,行,这就可以了啊,先写继承后写实现,那么这呢是我们说可以多实现的事儿,然后另外一个问题呢,就是说,嗯,接口和接,接口和类之间的关系呢,叫实现,类和类之间关系呢叫继承,还差一个呢,接口和接口之间。
05:21
这个类跟类之间呢,我们说这有这种层次关系,我们叫做这种继承关系了,那类跟接口之间呢,我们说叫这个实线关系,那接口和接口之间呢,接口跟接口之间呢,也叫继承。那么也是单机成吗?不是接口和接口之间,因为你涉及不到接口去扭对象了,它也没有构造器,所以呢,我们就不会说super的所谓的所谓的啊,Super时候呢,说就得找到唯一的一个了,所以咱们在接口这块说接口是可以多继承的,这呢写一下说接口与接口之间可以继承,而且呢可以多继承。
06:06
可以多继承来这个我们单独的这样写个是吧,就不影响上面这个结构了。这interface,这我们写个AA,然后再来一个BBBB,然后再来一个CC。这个CC呢,我让他去extend咱们的这个A逗号BB,你看这样是没有问题的,这就是我们所谓的叫多继承,那如果我们这里边呢,有这个抽样方法,比如我叫word method1,这是一个抽样方法,然后呢,我这个再放一个这叫METHOD2,那么咱们这个接口当中,相当于是不是就有两个抽样方法了,对,那如果说我们让咱们这个啊子弹让它呢,同时呢,再去这个实现一下咱们这个CC实验CC是不是又多了两个这个抽样方法,那这时候呢,你看我们这时候呢,点一下这呢,就会出来两。
07:12
出来量,这个也很好理解,就是呃,既然是继承了,那说明我们这个CC里边呢,确实就有它的两个负接口当中的所有的抽象方法了,那你要想拿一个类呢,去实现这个这个CC这个接口,那你得把人家这所有的包含的抽样方法呢,都得去重写一下,或者叫实现一下,这样你才可以去实例化,诶这个呢,也很好理解,行,那么关于我们说这个接口基本的这个问题的话呢,我们就说清楚了,一共呢,就是这样的七个点啊,基本的问题呢,就是这七个点,那说一点高大上的问题,高大上的问题呢,就下边呢,就提到的另外一个问题,这个第八个问题,嗯,提两个事儿啊,第一个这个接口呢,它的具体的使用,那能够呢叫体现多态性,这是一个问题,然后第二个问题,我们刚才来看这个描述的时候呢,提到了一个这个事情说呢,接口的本质呢,是契约,是标准,是规范,上面也提到说接口是一种。
08:13
规范定义呢,是一组规则,体现了什么呢?说现实世界当中,如果你要怎么怎么着的话呢,你就必须得有什么什么样的功能,比如说如果你要飞的话,你就必须呢,得去实现这个叫flyable这样的一个接口,如果你要像咱们刚才那会看到这个string。String,刚才那个说string,如果你要序列化的话呢,就需要呢,去实现那个叫serialable这样的一个接口。那你要怎么着,你就得怎么着,这个呢,就是需要你具备的。就跟说现在说,如果你要是想生产CPU的话,你就得需要遵循现在CPU的一些这个规范。那这个规范就是相当于我们说的这个接口,接口呢,其实相当于就是定义了一种规范,先把这两句话呢,咱们先写出来啊,第一个呢,接口的具体使用叫体现流态性,第二个说接口啊,实际上啊,就可以看作是一种规范。
09:10
看作是一种这个规范啊,那怎么体现这两个点,咱们呢,下边再去写粒子去体会啊,就是上面呢,咱们这七个点刚才呢就已经说清楚了,尤其刚才呢,我们提到了说类跟类之类跟接口之间,接口和接口之间的这个关系,哎,我们就说清楚了,先把这个呢停一下。
我来说两句