简单的扩展不起作用,如何在 scala 中做到这一点
我尝试使用 scala,但这里出了问题。也许是因为太晚了,或者可能是因为 Eclipse 无法正常工作,但我这里有一个错误:
class A(
val name: String,
val age: Integer,
val pro: Boolean
)
class B(val size: Integer) extends A(name, age, pro) //error
- 未找到:值年龄 B.scala /Test/src line 1 Scala Problem
- not find: value name B.scala /Test/src line 1 未找到Scala 问题
- :值 pro B.scala /Test/src 第 1 行 Scala 问题
A 类位于同一包中。我认为这就是扩展工作的方式...有人有想法吗?
I tried to play with scala and somethings wrong here. Maybe because its too late or maybe because eclipse wont work fine, but I have here an error:
class A(
val name: String,
val age: Integer,
val pro: Boolean
)
class B(val size: Integer) extends A(name, age, pro) //error
- not found: value age B.scala /Test/src line 1 Scala Problem
- not found: value name B.scala /Test/src line 1 Scala Problem
- not found: value pro B.scala /Test/src line 1 Scala Problem
Class A is in the same package. I tought thats the way how extends work... somebody an idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您定义
class B(val size: Integer) extends A(name,age, pro)
时,您还定义了一个构造函数,该构造函数将使用A
调用构造函数>name、age
、pro
参数。编译器抱怨变量未定义。因此,您需要的可能是这样的:
在一个不相关的注释中,Scala 中整数的类型通常称为
Int
。Integer
指的是java.lang.Integer
。通常Int
工作得很好,除非遇到 Java 互操作性问题。When you define
class B(val size: Integer) extends A(name, age, pro)
you also define a constructor that will call the constructor fromA
with thename
,age
,pro
parameters. The compiler complains that that variables are not defined.So may be something like this it what you need:
On an unrelated note, the type for integer in Scala is typically called
Int
.Integer
refers tojava.lang.Integer
. UsuallyInt
works just fine unless you are running into Java interoperability issues.