我正在尝试使用我找到的一些资源编写一个播放声音文件的函数。代码如下:
(定义播放 [文件] (让 [songp (URL. (.getCodeBase) 文件) 歌曲 (.newAudioClip songp)] (。歌曲播放)))
问题是, (.getCodeBase) 是格式错误的成员表达式。我不知道该怎么办。你如何调用这样的方法?在我查看的 Java 代码中,它的调用方式如下:
getCodeBase()
我错过了什么吗?
我正在尝试使用我找到的一些资源编写一个播放声音文件的函数。代码如下:
(定义播放 [文件] (让 [songp (URL. (.getCodeBase) 文件) 歌曲 (.newAudioClip songp)] (。歌曲播放)))
问题是, (.getCodeBase) 是格式错误的成员表达式。我不知道该怎么办。你如何调用这样的方法?在我查看的 Java 代码中,它的调用方式如下:
getCodeBase()
我错过了什么吗?
.getCodeBase
是一个实例方法调用,因此需要一个接收器(在 Java 中的点之前)。如果您的 Java 代码只是getCodeBase()
,那么有两种可能性:或者它实际上意味着this.getCodeBase()
,在这种情况下,您应该弄清楚this
该方法中的内容,并将其指定为第一个参数:
(.getCodeBase obj)
或者,它可能是该类(或其基类之一)的静态方法,在这种情况下,您应该改用静态方法调用表达式:
(ClassName/getCodeBase)
发布您尝试翻译的 Java 代码,并附上足够的上下文,可能有助于更详细地回答这个问题。