编译时出错。我究竟做错了什么?

时间:2017-09-20 20:19:39

标签: scala import compilation

当我编译时,我收到此错误:

blockmole.scala:4: error: '.' expected but ';' found.
object Color {
^
one error found

错误在这段代码中的某处:

 package blockmole
 import JColor
 object Color {
   val black  = new JColor( 0,     0,     0)
   val mole   = new JColor( 51,    51,    0)
   val soil   = new JColor( 153,   102,   51)
   val tunnel = new JColor( 204,   153,   102)
 }

2 个答案:

答案 0 :(得分:0)

您的导入声明未完成。它假定JColor是基本包名称(它不是)。使用'JColor'库的完整包路径,它应该编译。

答案 1 :(得分:0)

JColor不是标准的 Scala Java 类。但是,看起来你只是想创建不同的颜色实例,而你并不关心哪个库定义了这些颜色,对吧?

Java抽象窗口工具包 AWT )有点长。您可以使用它的Color类,如下所示:

package blockmole
import java.awt.{Color => AWTColor} // Rename to prevent name clash.
object Color {
  val black  = new AWTColor( 0,     0,     0)
  val mole   = new AWTColor( 51,    51,    0)
  val soil   = new AWTColor( 153,   102,   51)
  val tunnel = new AWTColor( 204,   153,   102)
}

请注意,由于java.awt.Color和您的Color对象具有相同的名称,我们必须将其中一个重命名为其他内容(例如重命名前AWTColor,在这种情况下)以防止碰撞。