Единственная ошибка, которую я вижу, вы получаете, если ваш интерфейс и ваша реализация находятся в разных пакетах. Ваш интерфейс имеет видимость по умолчанию (он же «пакет приватный»), что означает, что его можно увидеть (и использовать) только в одном пакете. Попробуйте объявить ваш интерфейс общедоступным вместо
public interface Iclass {
}
Кроме этого, наличие методов в классе, которые не указаны в интерфейсе, совершенно допустимо в Java. Интерфейс - это контракт, методы, которые вы ДОЛЖНЫ реализовать. Это не только для тех, кто.