2014-11-01 4 views
-2

Я знаю, что интерфейс - это тип, который имеет абстрактный метод и постоянную переменную. класс, который реализует интерфейс, должен определить тело абстрактного метода, но каково фактическое использование интерфейса, я видел много кода, в котором интерфейс имеет только один абстрактный метод, и только один класс реализует это, если это та ситуация, что такое использование интерфейса? В случае сериализуемого интерфейса я согласен с этим. Может ли кто-нибудь лучше ответить на это?Какая лучшая техническая ситуация для использования интерфейса?

+1

Java? Добавьте тег языка. –

+0

Возможный дубликат [Когда нужно использовать интерфейсы?] (Http://stackoverflow.com/questions/1686174/when-should-one-use-interfaces) –

ответ

1

Интерфейсы предназначены для отделения методов от их реализации. Клиенты могут иметь дело с ссылками на интерфейс и не беспокоиться о деталях реализации.

Я бы сказал, что ваша ссылка на Serializable, как хорошее показывает, что вы ничего не знаете о интерфейсах. Лучшие примеры имеют JDK. Двумя из лучших являются пакеты java.util.collections и java.sql. Клиенты могут использовать ссылки на карты; разработчики могут выбирать из HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap и других. Вам придется переписать свой код, чтобы изменить поставщиков баз данных, если JDBC не был основан на интерфейсах.

Смежные вопросы