| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Для чего нужны статические классы? |
| Автор: BezImeni 19.5.2006, 14:33 |
| Если кто может привести пример попроще, для чего может понадобиться статический класс. Можно и без кода - на словах. |
| Автор: batigoal 19.5.2006, 14:41 |
| Статический класс или статические поля в классе? |
| Автор: ALKS 19.5.2006, 15:02 |
| или статические методы? к статическим полям или методам можно обращаться не прямую, квалифицируя их именем калсса. не создавая объекта этого класса. т.е. по сути статическим поля - глобальные переменные для всего приложения. вот для этого оно и надо. типичные примеры использования - хранение конфигурации для приложения, глобальный для всего приложения кэш объектов. |
| Автор: MisterCleric 19.5.2006, 15:06 | ||
| Брюс Эккель: static внутренние классы Если вам не нужно соединение между внутренним классом и объектом внешнего класса, тогда Вы можете сделать этот внутренний класс static. Для того, что бы понять значение static примененного к внутреннему классу, Вы должны вспомнить то, что этот объект обычного внутреннего класса неявным образом ссылается на объект создавшего его окружающего класса. А если Вы объявите его как static, то это уже не будет правдой. Static внутренний класс означает: 1. Вам не нужен объект внешнего класса для создания объекта static внутреннего класса. 2. Вы не можете получить доступ к внешнему объекту из static внутреннего класса. Static внутренние классы отличаются от не-static внутренних классов. Поля и методы в не-static внутренних классах могут быть только на внешнем уровне класса, поэтому не-static внутренние классы не могут иметь static данные, static поля или static внутренние классы. Однако static внутренний класс не ограничен таким ограничением:
|
| Автор: YuG 19.5.2006, 15:35 |
| MisterCleric, человек не теорию спрашивал, а конкретный пример из практики. BezImeni, первое, что пришло в голову: счетчик посещений Второе, более сложное: есть несколько клиентов. они обрабатывают определенные данные. задача стоит в том, чтоб два клиента не могли обрабатывать одни и те же данные. Решение: создаем статический класс, который выдает данные клиентам для обработки и принимает обработанные клиентами данные (что-то типа очереди) |
| Автор: MisterCleric 19.5.2006, 16:08 |
| А, сорри. Ну вот пусть почитает, где используют: http://lib.juga.ru/article/view/163 |
| Автор: BezImeni 20.5.2006, 23:12 |
| Спасибо! То, что надо - и примеры и код! |