编译和运行其他人的java代码

编译和运行其他人的java代码,java,compilation,Java,Compilation,我对编译和运行一些java代码感兴趣,这些代码与我正在考虑订阅的api服务一起工作。我对java有点陌生,从今天早上开始我就一直在努力让它工作。现在我想知道这里是否有人愿意帮我指出正确的方向 在所有代码附带的示例文件夹中,有文件 RateService.jar RateServiceExample.bat RateServiceExample.class RateServiceExample.java (我在mac电脑上,但bat脚本没有我以前没有使用过的任何东西) 我想先编译代码。java

我对编译和运行一些java代码感兴趣,这些代码与我正在考虑订阅的api服务一起工作。我对java有点陌生,从今天早上开始我就一直在努力让它工作。现在我想知道这里是否有人愿意帮我指出正确的方向

在所有代码附带的示例文件夹中,有文件

RateService.jar
RateServiceExample.bat 
RateServiceExample.class
RateServiceExample.java
(我在mac电脑上,但bat脚本没有我以前没有使用过的任何东西)

我想先编译代码。java文件中有一行

import com.gain.rateservice.*;
我打开了jar文件,果然找到了目录

/com/gain/rateservice/
带文件

Bup.class
Msg.class
Rate.class
RateService.class
RateServiceListener.class
Sys.class
我试着

我得到

RateServiceExample is not abstract and does not override abstract method
OnRateServiceMSGMessage(com.gain.rateservice.Msg) in
com.gain.rateservice.RateServiceListener
public class RateServiceExample implements RateServiceListener {

我猜我不明白是因为我是新手。如有任何帮助,将不胜感激。

作为答案发布,以便我可以收集我的声誉积分:

javac -cp .\RateService.jar RateServiceExample.java
并且.class文件已经存在,因此您可以直接运行它:

java -cp .\RateService.jar RateServiceExample

在Java中,如果实现一个接口,那么必须实现该接口的所有方法。在您的情况下,此错误意味着RateServiceExample类声明实现RateServiceListener接口,但实际上并未实现RateServiceListener类的所有方法

一个短期的解决方案是从类声明中删除
implements RateServiceListener
,它只需要编译代码。因此,您的类声明将如下所示:

public class RateServiceExample
但是,如果您确实希望实现该接口,则必须用所有这些方法填充RateServiceExample类。有道理吗


要了解有关Java接口和继承的更多信息,可以转到。

javac-cp.\RateService.jar RateServiceExample.Java?类文件已经存在,因此请尝试Java-cp.\RateService.jar RateServiceExample。然后,我收到一个错误,说明包com.gain.RateService不存在导入com.gain.RateService.*-cp告诉javac/java在搜索所需类时将jar包含在类路径中。您描述的错误表明它仍然找不到com.gain.rateservice.I是否可以从.class文件中提取方法?不太可能,错误消息表明当前代码在源代码级别出错,而不是在编译时出现类路径配置问题。可能是版本问题,比如一个过时的例子。所以我有java版本1.6.0_24(Mac),代码相当旧,可能是2003年。尝试运行旧版本的java是否值得?
public class RateServiceExample