Используя эти Iterator
интерфейс позволяет любой класс, который реализует его методы для действия как итераторы. Понятие интерфейса в Java должно иметь, в некотором смысле, договорное обязательство обеспечить определенные технические возможности в классе, что implements
интерфейс, для действия способом, который требуется интерфейсом. Так как договорные обязательства должны быть выполнены, чтобы быть допустимым классом, другие классы, которые видят класс implements
интерфейс и таким образом заверенный, чтобы знать, что класс будет иметь те определенные технические возможности.
В этом примере, вместо того, чтобы реализовать методы (hasNext(), next(), remove()
) в LinkedList
сам класс, LinkedList
класс объявит, что это implements
эти Iterator
интерфейс, таким образом, другие знают, что эти LinkedList
может использоваться в качестве итератора. В свою очередь LinkedList
класс реализует методы от Iterator
интерфейс (такой как [1 111]), таким образом, это сможет функционировать как итератор.
, Другими словами, реализовывая интерфейс понятие объектно-ориентированного программирования, чтобы позволить другим знать, что определенный класс имеет то, что он берет, чтобы быть тем, чем он утверждает, что был.
Это понятие осуществляется при наличии методов, которые должны быть реализованы классом, который реализует интерфейс. Это удостоверяется, что другие классы, которые хотят использовать класс, который реализует эти Iterator
интерфейс, что это будет действительно иметь методы, которые Итераторы должны иметь, такой как [1 113].
кроме того, нужно отметить, что, так как Java не имеет множественного наследования, использование интерфейса может использоваться для эмуляции той функции. Путем реализации нескольких интерфейсов можно иметь класс, который является подклассом, чтобы наследовать некоторые функции, все же также "наследовать" функции другого путем реализации интерфейса. Один пример был бы, если бы я хотел иметь подкласс LinkedList
класс, названный ReversibleLinkedList
, который мог бы выполнить итерации в обратном порядке, я могу создать интерфейс, названный ReverseIterator
, и осуществить это, это обеспечивает previous()
метод. Начиная с LinkedList
уже реализации Iterator
, новый обратимый список реализовал бы и Iterator
и ReverseIterator
интерфейсы.
можно ли считать больше об интерфейсах от [1 122], Что такое Интерфейс? из Учебного руководства по Java от Sun.