Интерфейс просто означает «публичный API» чего-то: это контракт, по которому вы пишете программное обеспечение.Java использует ключевое слово interface
для определения классов без кода, содержащего такие контракты.
Шаблон моста является шаблоном проектирования.Это означает разделение.Вы могли бы сказать, что интерфейсы Java являются одним из способов реализации этого шаблона.
Обратите внимание, что мосты обычно предоставляют полный API, в то время как интерфейсы Java могут предоставлять только часть API.Пример: у вас есть класс Foo
с двумя методами: bar()
и baz()
.
. Мост - это все, что имеет тот же общедоступный API, что и Foo
, и которое может использоваться в любом месте, гдеМожно использовать Foo
.
С интерфейсами их может быть два.Один содержит bar()
, а другой baz()
.Любой класс, который реализует оба, является допустимой реализацией для Foo
, но у вас также могут быть классы, которые реализуют только один из них.