Stu*_*Cat 20 scala declaration
除非我做错了.我们似乎无法做到这样的事情:
var x;
x = 1;
Run Code Online (Sandbox Code Playgroud)
在Scala中,但您必须声明并为其赋值.为什么会出现这种情况有什么理由吗?
r.v*_*r.v 27
显而易见的原因是不要让变量未初始化.请注意,在没有初始化的声明中,您还需要指定类型.
var x: Type;
Run Code Online (Sandbox Code Playgroud)
给出以下错误:
只有类可以声明但未定义的成员(注意,变量需要初始化才能定义)
实际上只有抽象类可以在不定义成员的情况下声明成员.您仍然可以获得所需的行为(变量初始化为默认值)
var x: Type = _
Run Code Online (Sandbox Code Playgroud)
如果Type是引用类型,x将是null.例如,在工厂方法在对象构造之后完成对象的初始化的情况下,此方案很有用.
| 归档时间: |
|
| 查看次数: |
13114 次 |
| 最近记录: |