Scala伴生类警告
我是Scala编程新手,有人能解释一下下面的警告原因吗 我试图找到原因,但之前似乎有一个大问题:Scala伴生类警告,scala,Scala,我是Scala编程新手,有人能解释一下下面的警告原因吗 我试图找到原因,但之前似乎有一个大问题: 那么为什么我会收到这个警告呢?同伴类及其对象必须在同一个文件中定义 因此,您可以在文件中编写类和对象,然后在REPL中使用:paste,即可运行代码。不会出现任何警告 scala> :paste // Entering paste mode (ctrl-D to finish) class Student(sid: Int, sname: String) { val id = si
那么为什么我会收到这个警告呢?同伴类及其对象必须在同一个文件中定义 因此,您可以在文件中编写类和对象,然后在REPL中使用
:paste
,即可运行代码。不会出现任何警告
scala> :paste
// Entering paste mode (ctrl-D to finish)
class Student(sid: Int, sname: String) {
val id = sid
val name = sname
override def toString() = this.id + "," + this.name
}
object Student {
def displayDetails(st: Student) = {
println("Student Details : " + st.id + "," + st.name)
}
}
// Exiting paste mode, now interpreting.
defined class Student
defined object Student
这是REPL(读取-计算-打印循环)特有的,因为它无法知道用户输入何时结束 使用
:粘贴绕过它:
scala> class A {}
defined class A
scala> object A {}
defined object A
warning: previously defined class A is not a companion to object A.
Companions must be defined together; you may wish to use :paste mode for this.
scala> :paste
// Entering paste mode (ctrl-D to finish)
class A {}
object A {}
// Exiting paste mode, now interpreting.
defined class A
defined object A