00:00
哎,这呢,咱们举的是情况一,就是呢,我们这个是用对象来调这个实例方法,诶同学这块呢,刚才课间没看懂啊,就我这块呢,是咱们这个函数接口,就相当于是这个接口当中的这个方法和我们之前的某一个类当中的一个方法比较啊对,是这个意思来发现呢,就是这个方法的这个形态列表和反数类型,和我们这个类中的这个方法的形态列表和反问类型一样,诶而且本身你要做的事儿呢,也是做的这个事儿,就是这个方法呢,就在你这里边也用了,哎正好正好它俩还匹配说呢,还可以更简洁一些啊,就是我们提到的方法引用啊这个问题啊,那这个情况一呢,想说的问题就是咱们这个方法呢,都是非静态的,那这个非静态的方法的话呢,目前咱们都得是通过对象去调,所以呢,我们这里边列的这两个情况呢,哎,都会有相应的这个对象,这呢是EP上面这个呢,就是system.out这个点out返回的这个对象啊。那么还会有其他的情况,就我们这个方法,它是个静态方法,那你要静态方法的话呢,这块哎通过考虑用类来调用,那那这呢,我们举个例子,比如说呢,叫competor啊,Competor的话呢,是比较细了啊,放两个这个呢返回一个int型的,比如呢,咱们比较两个in类型的大小,哎,Comparor这个位置呢,我们就写成这个叫integer了,哎叫COM1啊,然后右边右边的话呢,你看这里边类型我们说都可以省略掉了,所以我这呢写个叫T1逗号T2,哎然后这么着一下,哎,咱们在这里边呢,去比较一下它俩的大小,都是这个inte类型的,咱们在这里边我调的是inte点,有个方法叫compare,诶把T1T2呢放到这本身呢,就这一条执行语句啊,加个return,我们都省略掉了,那就这样写,所以大家呢,其实你写这个拉姆的表达示呢,你就关注一个事儿就行,就你写左边的时候呢,你记住它这个抽样方法长什么样。
01:48
啊,那这块呢,这个位置就是写那个擎参,右边呢,就写的那个方法体就完了。对,关键就是你脑子里边记住它的那个方法的这个格式哈,那么接下来啊,接下来咱们举个例子吧,比如com一点调一下,这个叫compare方法,十二二十一。
02:05
诶这块呢,你比较它的这个大小,返回的就是这里边的一个具体的数了,呃,CTRLX我们直接打印啊。诶,前面这个数小嘛,哎,所以这是个负数,OK,这呢是我们使用的这个叫拉姆达表达式,那接下来我们看下这个方法引用。方法引用左边不变,主要看右边。二啊,右边这块呢,我们看一下,发现说呢,哎,这个你这种写法啊,这呢主要是针对我们这个抽象方法,这个抽象方法呢,跟我们这个inel里边这个compare方法呀,发现呢,它们又一一对应了,你这个方法呢,是两个参数类型一样,我这compare呢也这样,你返回int,我也返回int。诶,咱俩方法引用一下得了啊,又因为这个方法呢,是我们这个in类里边这个静态方法了,所以我就直接呢,就inte冒号冒号啊,直接compare一下就完了。
03:02
说为什么你这个方法连方案这个形态列表也不写了呢,我形态列表不是跟你一样吗。所以就省着写了。啊是这种啊,这块呢,咱们之所以写是因为你在后边这块要用,所以你这块得写上,但现在说呢,我这块写了以后,写法跟你,呃,我这种写法跟你这个本身抽象方法里边那个写法一样一样,就不要写了。就这样。这么着就搞定了啊,然后COME2点这个呢,你看我要是解释的话呢,其实大家即使从情感上理解了啊,你没见过这种格式,你还是不会是吧,这就是语法的特点哈,语法这块呢,其实没有太多。解释的那么透透的,就跟hello word说,告诉你这个每一行这块有个分号,分号分号说了100遍,你自己写还是忘了,他不是靠逻辑去让你推出来的,就是熟悉不熟悉的事儿啊。哎,这个就是一行,就这种,OK,这个就过了,咱们再举个例子,这个方说的是一个函数了,哎,传进去一个形参,返回另外一个类型的参数,哎这块呢跟我们这个类,哎我这举个类呢是math,数学这个类里边有个方法就是round,我传进一个大步型的值,哎这块呢,返回一个就是你这个double波型的值,四舍五入得到一个值浪类型的,那我们这块呢,诶假设啊,你要做的事儿恰好呢,就是它这个事儿。
04:25
Function这块我们写一个double类型啊,你返回的是一个long类型。放个一哎扭嗯,不用扭了啊,直接呢咱们来写,哎这个位置首先呢,咱们写一个double型的,我写D吧,哎,然后这么着一下啊,需要返回一个值啊返回的话呢,咱们恰好呢,用的是mass里边这个round,哎,你把这个D放进去属于这种。那到现在这块稍微有点感觉不。对,这不就方法体吗?嗯,就是原来那在稍微在这多写一句啊,咱原来写不是这样写的吗?CTRLCCTRLV这个右边你不是扭一下。
05:07
Function。嗯,然后这个位置你不是return一下这个叫哎点round吗。原来不是这样写的吗?这是原来的写法。哎,原来写法这块呢,咱们说右边这块呢,哎,这个叫方吧。嗯,右边这块的话呢,就直接这些都都删掉了,这呢就一个参数类型也删了,呃,然后D的小括号也删了,直接是个D,呃,指向右边就是这个方法体,方法体的话就一行大括号也删了,Return也删,嗯也也省略了,直接就它了。对吧,啊行,那这个大家都知道,点头也是,呃,这个从理性上知道是的啊呃,自己写的时候呢,还是有困难啊,那这个就得写才行,那下边的话呢,我们把它这个改造啊,那这块我们接着CTRLCCTRLV,这个呢,我们叫个二啊在右边的话呢,诶我们发现,诶你这块调的这个叫round,诶这个round的话呢,你是传进一个double,返回个long,诶我这个plan正好也是一个传进一个类型,传回类型,这俩类型还可以不一样,诶直接呢,我们这块就诶nice冒号,冒号还run了一下,完了。
06:22
啊就完了啊,上面呢,咱们也没调,你调一下放个一点,咱们做一个apply,这个你写个12.3。哎,做一个四舍五入。哎,这是它下面呢,也类似,哎12.6这样。哎,这边呢,就是舍了这个就进了哎这种啊,哎这不是中心,中心呢,还是我们这个实例化啊。函数接口实例化,现在咱们讲的都是这个问题,你是用拉姆达表达式还是用方法引用,哎,这个意思啊。
07:01
行这块呢,到底是用类来调,还是用这个对象来调,目前呢,我们关注的还是你这个方法是静态还是非静态。哎,这个点啊,哎,这两种情况如果大家呢,稍微清楚的话呢,这个第三种情况呢,就更难了,哎它要更难一些,先这个停一下啊。
我来说两句