Катерина Шевцова

немного не понятно, в каких именно случаях мы будем иметь дело со статическим итератором?

1 0

Ну, в не статической реализации (именно данной реализации, без конструктора и без принятия на его вход какого-либо массива извне) мы привязаны к родительскому классу и его полю с массивом данных. От привязки к данным можно уйти, сделав конструктор, принимающий данные извне, но самое серьезное - это то, что для создания экземпляра inner-класса нам сначала надо создать экземпляр родительского. Это лишний код и занятое место в памяти.

Статический класс, как и методы, позволяет обойтись без создания экземпляра родительского класса. Поэтому, если нам нужно создавать итераторы для различных внешних данных, не привязанных к родительскому классу, то статик будет предпочтительнее.

Если что, пусть менторы поправят.

1

Похожие вопросы

Сергей Сотников 24 января 2018 →

Не совсем понятно для чего джава, прежде чем выполнять тело цикла, выполняет метод hasNext(). Можно ведь с...

Максим Пешков 30 октября 2017 →

Здравствуйте. Не совсем понимаю часть 12:58 на видео, которая "у нас есть родитель Game.this.players". Как-...

Алексей Ч 12 марта 2017 →

Подумалось тут: а можно ведь получается делать в одном классе несколько итераторов? Допустим в University у...

Александр Адамов 07 февраля 2017 →

static class: ``` private static class StudentsIterator implements Iterator { // BEGIN (write your solu...

Анатолий Шалобасов 21 января 2017 →

Здравствуйте. В задании надо сделать итератор свой вот моя реализация как в видео. ``` private class St...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →