我想编译一个扩展Java类的Scala类文件。这里是类定义,它是基本的。在加载时,在主机应用程序中,对象应使用超类的方法'post'将“Hello from Scala”写入主机的输出窗口。使用从Scala中的Java类继承的方法
import com.cycling74.max.MaxObject;
public class FirstClass extends MaxObject{
public FirstClass{
post("Hello From Java");
}
}
这个编译和运行良好的应用程序。
这里是我的翻译斯卡拉(说实话,我不是100%肯定我完全明白Scala的构造函数):
import com.cycling74.max._
class FirstClass() extends MaxObject {
super.post("Hello from Scala")
}
但是,当我尝试用scalac编译,我收到以下错误:
dm$ scalac -cp max.jar FirstClass.scala
FirstClass.scala:3: error: value post is not a member of com.cycling74.max.MaxObject with ScalaObject
super.post("Hello from Scala")
^
one error found
我不知道为什么编译器告诉我,“后”是不是一个成员函数,我敢肯定,我拙劣的语法斯卡拉,但不能确定什么是错的。
谢谢!
EDIT
这里是从最大窗口中的输出中,除了改变代码如下规定,我刚添加的Scala的库,以最大的动态loadpath。这是令人兴奋的
MXJ System CLASSPATH:
/Applications/Max 6.1/Cycling '74/java/lib/jitter.jar
/Applications/Max 6.1/Cycling '74/java/lib/jode-1.1.2-pre-embedded.jar
/Applications/Max 6.1/Cycling '74/java/lib/max.jar
MXJClassloader CLASSPATH:
/Applications/Max 6.1/Cycling '74/java/classes/
/Users/dm/maxmsp/classes
/Users/dm/maxmsp/jars/jline.jar
/Users/dm/maxmsp/jars/scala-compiler.jar
/Users/dm/maxmsp/jars/scala-dbc.jar
/Users/dm/maxmsp/jars/scala-library.jar
/Users/dm/maxmsp/jars/scala-partest.jar
/Users/dm/maxmsp/jars/scala-swing.jar
/Users/dm/maxmsp/jars/scalacheck.jar
/Users/dm/maxmsp/jars/scalap.jar
Jitter initialized
Jitter Java support installed
Hello from Scala
在MaxObject如何定义'POST'? – 2013-04-23 14:31:58
我不知道太多,因为只有罐子包含在Max分配中。根据Java文档它是:public static void post(java.lang.String message) – awfulHack 2013-04-23 14:49:56