请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

此节8:49左右的讲解,我不太懂怎么具体把方法当做参数传入,谢谢老师。

如图:

https://img1.sycdn.imooc.com//szimg/5f9b84f909ce8ff315231010.jpg

箭头所指的方向,据老师这节8:49左右所讲,那个listener参数实际是一个方法吗?可能我java基础不太好了,java没有C#的委托,没有C的函数指针,是怎么把方法当做参数传递的呢?请老师不吝赐教,这对我帮助会很大!

正在回答

1回答

飞天走秀 同学您好:

这个ConnectionListener是一个接口,所以我们需要先新建一个类,这个类实现了ConnectionListener接口,比如这个类叫MyConnectionListener(当然这个类肯定要实现接口中的方法)。

再new一个MyConnectionListener对象(或者叫实例),比如叫myListener。

最后调用方法的时候,将myListener对象传入。

我相信以上流程你是明白的。

实际上,因为ConnectionListener是一个Java的函数式接口,可以通过一行lambda表达式来表示接口的一个实现。

所以有时候看起来,是直接把一个lambda表达式传进去了,实际是一个Java的语法糖,从Java8开始引入的。

更多的资料可以搜索 java 函数式接口

希望可以帮到你

happy coding~

0 回复 有任何疑惑可以回复我~
  • 哦,原来是这样的,JAVA8实现将方法作为参数传入的方式是函数式接口。谢谢老师,在以后的编码中可以用到,哈哈。
    回复 有任何疑惑可以回复我~ 2020-10-30 11:50:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信