Компиляция и запуск чьего-либо другого кода Java - PullRequest
0 голосов
/ 14 июля 2011

Я заинтересован в компиляции и запуске некоторого кода 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

Я пытаюсь

javac RateSerivceExample.java

И я получаю,

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 {

Полагаю, я не понимаю это из-за моего новичка. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

В Java, если вы реализуете интерфейс, вы должны реализовать все методы этого интерфейса. В вашем случае эта ошибка означает, что класс RateServiceExample претендует на реализацию интерфейса RateServiceListener, но фактически не реализует все методы класса RateServiceListener.

Краткосрочным решением, которое просто скомпилировало бы ваш код, было бы удаление implements RateServiceListener из объявления класса. Поэтому вместо этого объявление вашего класса будет выглядеть так:

public class RateServiceExample

Но если вы действительно хотите реализовать этот интерфейс, вам придется заполнить ваш класс RateServiceExample всеми этими методами. Имеет смысл?

Чтобы узнать больше об интерфейсах Java и наследовании, вы можете перейти здесь .

0 голосов
/ 14 июля 2011

Публикация в качестве ответа, чтобы я мог набирать очки репутации:

javac -cp .\RateService.jar RateServiceExample.java

И файл .class уже существует, так что вы, вероятно, можете запустить его напрямую:

java -cp .\RateService.jar RateServiceExample
...