2016-04-03 3 views
0

я начал организовать свой код в пакетах для более простого чтения:Не может реализовать интерфейс из другого пакета

enter image description here

Но не может читать интерфейсы из другого пакета:

Interface1 Interface2

код интерфейса:

interface FlowListener { 
    void stageWasReached(String tag); 
} 
+1

Бросайте код интерфейса –

+0

добавил код интерфейса – Guy

+0

Что ошибка вы получаете? –

ответ

5

Только вам нужно изменить определение с ниже код

public interface FlowListener { 
    void stageWasReached(String tag); 
} 

Если вы не упоминается какой-либо спецификатор доступа, то его default Спецификатор доступа означает его спецификатор доступа package уровня. Его доступ в пакете и там только подпакеты, public это будет доступ к любой упаковке.

+0

да, конечно, глупый я ;-) – Guy

+1

@Guy рад помочь вам: p) –

1

Когда вы объявляете класс, интерфейс или методы, вы должны объявить модификатор доступа. Это определяет, где вы можете использовать/получить доступ к объявленному интерфейсу.

Если вы не объявляете модификатор, вы можете только вызывать его из одного и того же пакета или класса.

Oracle имеет блестящий учебник, который объясняет, как они работают: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

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