И интерфейс и класс имеют модификатор доступа public. Почему нельзя декларировать переменную интерфейса в классе ? //интерфейс
public interface B {
}
//класс
package com.nure;
public class A {
private B b;
}
В интерфейсе B не объявлен пакет. Это означает, что B находится в пакете по-умолчанию, а следовательно импортировать его нельзя и обратиться к нему из именованного пакета (com.nure) не получится.
Чтобы исправить:
Пропишите пакет в файле B.java. Например:
//выберите имя по вкусу
package com.nure.interfaces;
Перенесите файл B.java в соответствующую директорию.
Если в результате A и B окажутся в разных пакетах, то импортируйте B:
//в A.java
import com.nure.interfaces.B;
Сборка персонального компьютера от Artline: умный выбор для современных пользователей