在kotlin参考文献的Properties and Fields部分中,写了以下例子:
var allByDefault:Int? //错误:需要显式初始化程序,隐含默认getter和setter
但是,我测试了代码,编译和运行时没有错误。 这是我的代码“
fun main(args:Array<String>){
var allByDefault:Int?
}
为什么文档会写:
错误:需要显式初始化程序,隐含默认getter和setter
我搜索谷歌寻求帮助,但没有找到任何可以帮助我的结果。
@toniedzwiedz的回答解决了这个问题。我的错。我误认为属性和变量。
答案 0 :(得分:9)
fun main(args:Array<String>){
var allByDefault:Int?
}
您在此处拥有的是var
方法的main
本地,而非属性。
class MyClass {
//this is a property of MyClass that requires some means of initialization
var allByDefault: Int? // Error: Property must be initialized or be abstract
fun foo() {
var local: Int? // this is a local variable defined in the scope of foo, which is fine
// ...
}
}