error: value skill is not a member of object Person private def getSkill() = name + "'s skill is: " + Person.skill
时间: 2024-04-15 16:29:42 浏览: 136
这个错误是因为在Person类中,你尝试访问一个名为skill的静态属性,但是该属性不存在。
在你的代码中,你没有定义一个名为skill的静态属性。如果你想在Person类中定义一个静态属性,你可以使用伴生对象来实现。
以下是一个修正后的示例代码:
```scala
class Person private(val name: String) {
private def getSkill() = name + "'s skill is: " + Person.skill
}
object Person {
private val skill = "Programming"
def create(name: String): Person = {
new Person(name)
}
}
```
在这个修正后的代码中,我们在伴生对象Person中定义了一个名为skill的私有静态属性。现在,你可以在Person类的私有方法getSkill()中访问这个属性,并构建Person类的对象。
请确保在使用Person类之前,先创建它的对象,例如通过调用`Person.create("John")`方法来创建一个名为"John"的Person对象。
阅读全文