class(val a:Int)和class(a:Int)有什么区别?

现在编码

class(val a: Int)之间有什么区别class(a: Int)

从反编译的代码中,我可以看到在该class(val a: Int)版本中,存在的访问器a但是与更高级别有什么区别?(我的意思是语义级别)

任何提示表示赞赏。

狮子座

主要区别可能最好用几个简单的样本类来说明:

class X(a: Int)

class Y(val a: Int)

val x = new X(1)
x.a
// <console>:28: error: value a is not a member of X
//        x.a

val y = new Y(2)
y.a
// res1: Int = 2

ain类仅X充当构造函数参数,不能被视为类成员,而val ain类Y既充当构造函数参数,又充当类成员。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章