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
a
in类仅X
充当构造函数参数,不能被视为类成员,而val a
in类Y
既充当构造函数参数,又充当类成员。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句