Идентификаторы доступа при реализации интерфейса классом

Идентификаторы доступа при реализации интерфейса классом

Поскольку интерфейсы содержат публичные методы, при имплементриовании классами методы тоже должны быть публичными.


public class Rabbit implements Runnable {
    
   @Override
    public void run() {
        System.out.println("Run!"); 
    }

   /* void run()  {} // пакетная видимость - ошибка компиляции */
    
   /* private void run()  {} // приватная видимость - ошибка компиляции */
    
}

Интерфейсы и Абстрактные классы