00:00
来,那咱们接着再往下吧,再往下啊,那么再往下的话,我决定在这里再写一个接口吧。再写一个接口啊。呃。或者说先别往这儿再写接口了,再写接口的话可能就稍微复杂一些了,我写个测试程序,各位啊。嗯。TEST0,二。Public static vitamin。呃,然后呢,这里啊,大家看我们这里能使用多肽吗。应该是可以,对不对,因为我说了接口这个东西,我们可以看成是一个抽象类啊。您如果子类呢去实现这个接口,我们可以把这个实现看成是继承吧。
01:01
是不是是不是可以看成继承啊。对吧,同学们,哎,可以看成继承,所以这是父类呗,这是子类呗。那如果是这样的话,我们在这里用多肽的话,应该怎么用啊。接口能用吗?那百分百不能用啊。你们一个接口出来那不行。用不了啊。My ma是抽象的,无法实例化。看见了吗?接口是没有办法创建对象的,这不行啊,这个不行。来。但是你代码能不能这样写呢?就类似于说这样写行吗?Animal a等于你有一个cat这样的代码。对吧,能不能做呢可以。是不是,哎,这是这个这个是负类型的引用嘛,指向一个子类型对象嘛,对不对,那么这个是不是就是负类啊。是吧,哎,负磊,然后点什么呀?哎,那不是点啊MY,然后接下来怎么着MM啊。
02:01
MM啊NM吗?来你谁呢?你这个myma的ipl行不行?这个呢,是不是一个多肽,这就是负类型的引用指向什么呀?子类型的什么对象。对吧,是不是这样的呀?哎,那么接下来我们干什么呀,我们去调用什么呀,调用接口里面的方法。我们其实叫做什么叫做面向接口编程。面向接口编程myma啊。接口里边有sum和sub方法。对吧,你只要是MM,你能够往后点儿出来的,能点儿出来的,你往后能点出来的这些方法都是,哎,我们这些接口里面的方法。这叫面向接口编程嘛,你面向接口编程,你你你调方法调到这接口里边了,但是运行的时候我问大家,由于底层对象是这个对象,所以是不是会自动调到这个对象上的。
03:10
这个方法或者说是这个方法,也就是说实际上还是多肽对吧。就实际上啊,还是多肽。编译的时候。运行的时候。嗯。绑定的不一样。对吧,哎,你好好想想是不是这样的。就是你编译的时候,其实你这个方法。找的是你接口里边的方法,如果你接口里边有这个方法,那编译就能通过。啊,编译器就让你通过,那么运行的时候和底层对象有关,底层对象。他是什么?它就会掉到哪个方法上。
04:01
啊。对吧,啊,就会掉到那个方法上各位啊,所以这块我们来尝试一下,比如说sum。它这个方法需要两个参数int,所以十逗号二时我们传进去。算完之后有一个结果。因为有一个返回值嘛。是不是哎,result1system.out.print line打印输出什么呀?我们叫result什么呀?一然后类型RESULT2结果等于MM这个接口。MM,这个接口看见了吗?然后点什么呀,Sub。点SUB2,十传进去,十传进去,接下来在这呢,system.out.printline打印输出二。你看我们来编译一下,并且运行加了C,我们去编译。然后Java去运行TEST02,大家看一个是30,一个是十,编译没问题对吧,运行这块也很正常没问题,正常执行输出结果。
05:12
对不对,哎,正常输出输出结果啊好了,那这个呢,其实就是多肽,那你说各位这个这个以前就是这算新语法吗。这算新新东西吗?就同学们来来个互动,告诉我,我刚才讲的这个东西算新东西吗?算不算新东西?不算吧?不算新东西吧?是不是,哎,这个其实不算什么新东西啊,这不是新语法,你不要搞得说啊老师我有了接口之后咋地咋地,这代码又不一样,这个那的。这个咋说这个不是新的东西,这个是以前的啊,只不过就是说我们把这个东西换成了interface接口,我们把这个东西。换成了什么呢?哎,不是继承了是什么呀,是实现了啊,是实现了。
06:06
对,实现一个接口,然后将接口里边方法都给它实现了,就这意思。啊,那就是多肽老语法,还是之前讲的啊,还是之前讲的。
我来说两句