Java с использованием интерфейса в качестве обратного вызова - PullRequest
5 голосов
/ 03 ноября 2010

Я пытаюсь реализовать процедуру обратного вызова с помощью реализации класса и интерфейса, а затем передать этот класс как объект (интерфейса) другому классу.Однако я получаю сообщение об ошибке: «Конструктор ClassB (TestMe) не определен».Я думал, что я делал это правильно, я не знаю, что я делаю неправильно.Может кто-нибудь предложить какой-нибудь совет?Мой код ниже:

У меня есть интерфейс:

public interface RequestResults {

     public void requestFailed(String message);

     public void requestSucceeded(String xml);

}

И у меня есть класс, который реализует интерфейс:

public class TestMe implements RequestResults {

    public TestMe() {

        ClassB b = new ClassB(this);

    }

    public void requestFailed(String message) {
        // TODO Auto-generated method stub

    }

    public void requestSucceeded(String xml) {
        // TODO Auto-generated method stub

    }
}

Наконец, у меня есть класскоторый создается в предыдущем классе:

  public class ClassB {

    RequestResults results;

    public ClassB(RequestResults results) {

        this.results = results;

    }

}

Спасибо!

Ответы [ 4 ]

5 голосов
/ 04 ноября 2010

Я закодировал все это на моей стороне, и все скомпилировано.Очистка и повторная компиляция могут помочь.

4 голосов
/ 04 ноября 2010

Я думаю, что ваш код правильный.Попробуйте скомпилировать все снова.Возможно, вы использовали старую версию TestMe.

3 голосов
/ 04 ноября 2010

Хм. компилирует просто отлично для меня. Вот ideone SSCCE .

1 голос
/ 06 февраля 2013

Также скомпилировано для меня .... Вы должны очистить свой проект в затмении, это иногда случается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...