Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 2
Регистрация: 30.06.2011
Сообщений: 173

Теоретический вопрос по глобальным переменным

03.11.2011, 10:29. Показов 973. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Хотел бы узнать мнение по следующему вопросу:
Есть некое приложение, состоящее из множества классов. При этом есть некий глобальный список, который хранит некоторые элементы этих классов.
Вопрос состоит в том, - как организовать этот глобальный список?

На данном этапе у меня это организовано следующим образом:
Есть класс, у которого имеется статическая переменная указывающая на список:

public class GlobalList
{
...
public static List elementsList;
}

Т.о. из любого другого класса я могу обратиться к этому списку как:

GlobalList.elementsList.add(...);
GlobalList.elementsList.size();
...

Хотел бы узнать нормальный ли это способ или может есть другие(более красивые) решения?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2011, 10:29
Ответы с готовыми решениями:

Проблема с доступом к глобальным переменным
Хочу сделать глобальные переменные, чтобы был доступ из любой функции, но компилятор ругается: Error 1 error C2248:...

Обращение из потока к глобальным переменным
Здравствуйте. интересует такой момент есть код private void add() { Random rnd = new Random(); ...

Как получить возможность обращатся к глобальным переменным?
именно к переменным, а не к константам. Нашел совет объявить класс на основе Application public class MyApplication extends...

2
freem
03.11.2011, 14:15
Я так всё время делаю =\ и ни чё...вроде...
0 / 0 / 1
Регистрация: 29.05.2009
Сообщений: 52
03.11.2011, 16:19
Лучший ответ Сообщение было отмечено Alexadr как решение

Решение

Принято для таких вещей юзать Singletone Pattern. Т.е. создаем объект инстанс которого будет гарантированно единственным в JVM (ну ладно, в classLoader). Выглядит это так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class SomeManager {
  private static SomeManager manager;
 
  private SomeManager() {
  }
 
  public static synchronized SomeManager getInstance() {
    if (manager == null) {
      manager = new SomeManager();
    }
    return manager;
  }
 
  public void someManagerMethods() {
  }
 
  // ...
}
Ну а потом используем его:
Java
1
SomeManager.getInstance().someManagerMethods();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2011, 16:19
Помогаю со студенческими работами здесь

Не получается присвоить значение глобальным переменным Visual 2008
Уважаемые господа, не могу разобраться как присвоить значение глобальной переменной, перечитал темы на форуме по этой теме и у меня такой...

Несколько файлов в проекте. Как обращаться к глобальным переменным и структурам?
//file1.cpp #include <iostream> #include "Header.h" int global = 1; struct globalstruct {int a; int b;}; globalstruct...

Теоретический вопрос
Доброго времени суток составил список вопросов не очень понятных объясните пожалуйста кто знает 1. Группа 2. Кольцо 3. Область...

Теоретический вопрос
Является ли правильной константа: "false" ? Если да, то какого она типа?

теоретический вопрос
есть таблица с новостями и есть таблица с фотографиями как лучше сделать так чтоб к каждой новости добавлялись фотографии


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru