2017-02-15 5 views
-2

Я буквально только начал, и я думаю, что это такой основной вопрос, что я даже не могу найти что-нибудь в Интернете об этом, но я не могу, чтобы жизнь меня поняла.Как реализовать интерфейс в другом комплекте OSGi?

У меня есть два отдельных пакета, один API и один сервисный пакет. В пакете в расслоении API я интерфейс называется «HelloAPI»:

package com.example.osgi.api; 

public interface HelloAPI { 

    public void sayHello(); 

} 

В пакете услуг у меня есть класс со следующим кодом:

package com.example.osgi.service; 

public class HelloImpl { 

    implements HelloAPI { 
     System.out.println("Hello World!"); 
    } 
} 

но затмение высветило ошибку при ключевое слово «реализует», которое составляет:

Ошибка синтаксиса на токене «реализует», интерфейс ожидается.

Я не вижу, что я сделал неправильно, может ли кто-нибудь указать мне в правильном направлении? Благодарю.

+0

'implements' идет сразу после имени класса. У вас есть '{' между ними. Кроме того, ваши методы определены неправильно. Вы можете подождать с OSGi, пока у вас не будет понимания вашего языка. Особенно классные пути. –

+0

@ ThorbjørnRavnAndersen. Меня бросают в глубокий конец, играя в догонялки - это все, что я когда-либо делал. Что случилось с моим определением метода? –

+0

https://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html –

ответ

2

Я полностью согласен с комментариями - очень важно изучить основы языка Java до решения более сложных тем, таких как модульность.

Для справки, вот правильное выполнение вашего интерфейса:

public class HelloImpl implements HelloAPI { 
    public void sayHello() { 
     System.out.println("Hello World!"); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^