Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование методов 
:(
    Опции темы
math64
Дата 20.7.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



В примере у Domestic Cat - static class Helpers - вложенный.
В примере y chief39можно использовать итерфейс и потом делать implements:
Код

public interface Helpers {
   // public static final добавляется автоматически
   // static {} не разрешён, нужно делать присвоение сразу
    int five = 5;
    long memory = Runtime.getRuntime().totalMemory();
    String home = System.getProperty("JAVA_HOME");
}


Но это только если параметры действительно глобальные, при старте инициализируются и больше не меняются.
Если у тебя сервер обслуживающий 2 пользователей или открыты 2 документа и т.п, и у каждого свои параметры?
В сервлете есть специальный объект для запоминания (на уровне сервлета, сессии и приложения).
В прочих случаях можно поступить так:
Код

public class UserThread extends Thread {
   String userName;
   ....

   public UserThread(Runnable r, String userName, ....) {
      super(r);
      this.userName = userName;
   }

   public UserThread(Runnable r)
      super(r);
      this.userName = getUserName();
   }
   
   public static String getUserName() {
      UserThread currentThread = (UserThread)Thread.currentThread();
      return currentThread.userName;
  }
}

В Swing:
Код

public class ConfigPanel extends JPanel {
   String userName;
   public ConfigPanel(LayoutManager lm, String userName, ...) {
     super(lm);
     this.userName = userName;
     ...
   }
   public ConfigPanel(LayoutManager lm, ConfigPanel cp) {
     super(lm);
     this.userName = cp.userName;
   }

   public static String getUserName(Component c) {
      while(c != null) {
         if (c instranceof ConfigPanel)
           return ((ConfigPanel)c).userName;
         c = c.getParent();
      }
      return null;
   }
}


PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.