请稍等 ...
×

采纳答案成功!

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

内联类构造可以私有吗?

图片描述
老师,我在这里把内联类的构造私有了,也没有报错啊?,kotlin 1.4.32

正在回答

1回答

没问题呀,私有构造函数,你在companion里面调用构造的。main里面只是访问了value属性,这个没有私有
0 回复 有任何疑惑可以回复我~
  • 提问者 qq_律香浮动_0 #1
    嗯嗯,不过本节视频 01:25 秒,讲解内联类的定义时,讲解了定义内联类有 4 个限制。1.必须定义主构造器 2.主构造器必须共有 3.主构造必须要有参数 ,参数有且只有一个 4.参数的属性必须是 val .我就是当时留意了一下有困惑,为啥主构造器必须是public,所以这里才做了测试发现主构造可以私有,编译器没抱错。不知道是我哪里理解有问题,还是视频在这里讲解的有瑕疵
    回复 有任何疑惑可以回复我~ 2024-01-25 10:09:12
  • 提问者 qq_律香浮动_0 #2
    明白了,这里说的内联类定义必须 public,是指的如果私有了,首先,别处不能使用这个内联类因为没法初始化,因而编译器没办法优化,并不是说编译器不允许私有内联类构造器对吧
    回复 有任何疑惑可以回复我~ 2024-01-25 10:16:25
  • bennyhuo 回复 提问者 qq_律香浮动_0 #3
    视频是基于1.3的,可以看看后面是不是有变化。另外,这个特性现在还不是正式特性,所以变化是正常的。
    回复 有任何疑惑可以回复我~ 2024-01-27 12:41:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信