как использовать в нем основной проект? - PullRequest
0 голосов
/ 03 июня 2010

У меня есть следующий интерфейс:

public interface MyFunctor {
   int myFunction(int x);
}

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

public class Myfunction1 implements MyFunctor {
}

как использовать в основном проекте? я исправил ошибку сейчас мне нужно, как запустить его в основном проекте? я имею в виду в public static void main(String[]args)?

Ответы [ 4 ]

1 голос
/ 03 июня 2010

Как уже отмечали другие, вам нужно будет обеспечить реализацию метода, определенного в interface.

Чтобы запустить ваш класс, вам нужно создать экземпляр в вашем main методе:

public static void main(String[] args) {
    MyFunction1 mf1 = new MyFunction1();
}

В качестве альтернативы, вы можете ссылаться на var как тип вашего интерфейса:

public static void main(String[] args) {
    MyFunctor mf = new MyFunction1();
}

Чтобы проверить код в реализованном методе, вам нужно вызвать метод для нового объекта:

public static void main(String[] args) {
    MyFunctor mf = new MyFunction1();
    int input = 5; //just for fun
    int output = mf.myFunction(input);
}

Если вы хотите проявить фантазию, вы можете передать переменную input в командной строке в качестве аргумента вашей программе:

public static void main(String[] args) {
    MyFunctor mf = new MyFunction1();
    int input = Integer.parseInt(args[0]); //you should include error handling
    int output = mf.myFunction(input);
}

Обратите внимание, что ваш метод main может содержаться в любом Class, поэтому вы можете реализовать его с вашим классом MyFunction1. Чтобы запустить его из командной строки, вы должны использовать:

>java MyFunction1

Предполагается, что вы находитесь в каталоге, где находится ваш файл .class.

1 голос
/ 03 июня 2010

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

В вашем случае:

public class Myfunction1 implements MyFunctor
{
  int myFunction(int x)
  {
    // Do whatever needs to be done here.

    return x; // Just so that it compiles.
  }
}
0 голосов
/ 03 июня 2010

Пример:

public class Myfunction1 implements MyFunctor {
  int myFunction(int x) {
    /* your code here */
  }
}

Удачи!

0 голосов
/ 03 июня 2010

Вы должны добавить реализацию. В противном случае утверждение о том, что он реализует MyFunctor, неверно.

Пример:

public class Myfunction1 implements MyFunctor{
  public int myFunction(int x) {
    return x+1; // or whatever you want to do with x..
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...