请稍等 ...
×

采纳答案成功!

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

关于kotlin

图片描述

没接触过kotlin, 请问1、2里的 x:y 是什么意思? 似乎是一种类型限制?意思是其子类都可以吗?

【3】 是匿名实现类吗?


最后请问下 这个例子中的 onListen 是自主触发的? flutter端有一个 .receiveBroadcastStream 就会触发一次这样的吗?

以上全是猜测 请老师斧正

正在回答 回答被采纳积分+3

1回答

马超老师 2022-08-25 01:48:23

1、第一个问题——x:y是什么意思?

就拿图中的1举例:

var eventSink :EventSink? = null

我们把这句话拆解一下,总共有4个部分:

  1. var:这个表示声明一个可变的变量,即可被重复赋值。而val对应的是不可变的对象,表示只能赋值一次(和Java中的final非常类似,但是不完全不一样,切记!)。

  2. eventSink:表示变量名

  3. EventSink:冒号后面表示声明的类型

  4. ?:问号表示这个变量可以被赋值为空,默认不可为空。

综上,x:y表示声明一个y类型的变量,名叫x。整句话转化成Java代码如下:

EventSink eventSink = null;


2、第二个问题

对。

object:StreamHandler

就是声明一个StreamHandler类型的匿名内部类,大括号里面的是类实现。


3、onListen确实是自主触发的,在setStreamHandler注册完成之后就会回调onListen。


如果还有什么疑问,欢迎讨论

0 回复 有任何疑惑可以回复我~
  • 提问者 demonCry #1
    谢谢老师回答 ! 那 object:StreamHandler 里这个object 是什么意思呢? 总不可能是个变量名吧
    回复 有任何疑惑可以回复我~ 2022-09-07 17:10:26
  • 马超老师 回复 提问者 demonCry #2
    这个是kotlin的关键词,表示声明一个StreamHandler的匿名内部类
    回复 有任何疑惑可以回复我~ 2022-10-07 16:05:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信