必须覆盖scala中的val变量
发布时间:2020-12-16 09:28:21 所属栏目:安全 来源:网络整理
导读:我在scala中遇到了一个奇怪的问题.以下是我的代码,类Employee扩展类Person 但是这段代码无法编译,我已经明确地将firstName和lastName定义为val变量.这是为什么 ?这是否意味着我必须覆盖基类中的val变量?目的是什么? class Person( firstName: String,last
我在scala中遇到了一个奇怪的问题.以下是我的代码,类Employee扩展类Person
但是这段代码无法编译,我已经明确地将firstName和lastName定义为val变量.这是为什么 ?这是否意味着我必须覆盖基类中的val变量?目的是什么? class Person( firstName: String,lastName: String) { } class Employee(override val firstName: String,override val lastName: String,val depart: String) extends Person(firstName,lastName){ } 解决方法
构造函数的输入参数不是val,除非你说它们.如果它们已经存在,为什么要覆盖它们呢?
class Person(val firstName: String,val lastName: String) {} class Strange( override val firstName: String,override val lastName: String ) extends Person("John","Doe") {} class Employee(fn: String,ln: String,val depart: String) extends Person(fn,ln) {} 如果它们不是val并且您想要制作val,则不需要覆盖: class Person(firstName: String,lastName: String) {} class Employee( val firstName: String,val lastName: String,val depart: String ) extends Person(firstName,lastName) {} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |