Sobes.tech
Junior — Middle

Може ли да се обяви интерфейс с ниво на достъп, различно от публичното?

sobes.tech AI

Отговор от AI

В Java интерфейсы по умолчанию имеют уровень доступа public или пакетный (default), если явно не указан модификатор.

  • Если интерфейс объявлен вне класса (на уровне пакета), то он может быть либо public, либо иметь пакетный доступ (без модификатора). Другие уровни доступа, такие как private или protected, недопустимы для top-level интерфейсов.

  • Внутри класса (вложенный интерфейс) можно объявить интерфейс с любым уровнем доступа, включая private и protected.

Пример:

// Пакетный доступ
interface MyInterface {}

// Публичный интерфейс
public interface MyPublicInterface {}

class Outer {
    private interface InnerInterface {}
}