![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Вопрос таков: есть у меня несколько методов (сейчас они описаны просто в главном классе) и вызываются во вложеном классе. Я етот класс хочу вынести как отдельный и наследовать свой главный я уже не смогу. Так вот как мне можно луче вынести эти методы (это можно сказать не логика но очень выжная настройка некоторых возможностей) что б они были доступны отовсюду. Просто не хочу делать это отдельным классом так как по сути экземпляр там создавать несчего (это просто можно сказать набор функций). Как грамотно решить эту проблему?
|
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
hamsterKSU |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 1 Всего: 11 |
||||
|
||||
Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
powerOn, это ж всеровно прийдётся создавать экземпляр или я что то недопонял.
А что такое сингелтон? |
||||
|
|||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
-------------------- |
|||
|
||||
hamsterKSU |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 1 Всего: 11 |
в случае класса со статическими методами тебе не придется создавать класс. сампл такого класса привел Domestic Cat.
в случае сингелтона тебе придется создать класс всего один раз - принцип этого патерна. пример сингелтона
|
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Если методы не требуют хранения каких-то глобальных состояний, то синглетон не нужен.
Если же требуют, и при этом к коду возможен доступ из разных потоков, методы или состояния нужно будет засинхронизировать. |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Мне необходимо хранить глобальные переменные (к примеру там какието глобальные настройки которые часто используются ) они у меня сейчас вечно передаются в конструктора и там делаю новую переменную глобальную для этого класса а не всего проекта (как то глупо получается). Я могу в статическиом классе их объявить а потом просто использовать что б не передавать в конструкторы?
|
|||
|
||||
chief39 |
|
||||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Если тебе нужны глобальные для всего приложения переменные - делай их
в хелпере и в секции
инициализируй -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
||||
|
|||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
я что то не совсем понял как хочет сделать chief39
|
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
мдодифицировал домашнего кота -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
или просто использовать static import
-------------------- SCJP 5.0, SCJD |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
я вот попробывал реализовать то что посоветовал Domestic Cat, так же нельзя объявлять класс как static.
И поэтому сразу вопрос. Зделав так как сказал chief39, собственно чем этот класс отличается от обычного? Ведь если я зделаю методы static в любом классе я их буду видить. Даже в этом классе что они у меня сейча. В чём тогда отличие класса chief39, от других? И там есть void main(String[] args) зачем она? Я что то совсем потерялся как правельно всё это вынести? |
|||
|
||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Извиняюсь, привык к шарпу. -------------------- |
|||
|
||||
chief39 |
|
||||||||||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Ничем. Суть в самих переменных и способе инициализации. Запихать - в любой класс. Да. Но. Обычно такие константы выносят в отдельный класс и так его называют - типа GlobalConstants или типа того ![]() Чтоб в одном месте хранить и править. Если эта переменная тоьлко в одном классе нужна - можешь её там запулить, а не в этих глобалах
Ни в чём. Класс как класс. Обычный. суьт, опять-таки - в переменных и способе инициализации. А то, что переменные статик позволяет делать
вместо
То есть экземпляр класса(объект) не надо создавать для обращеиня к переменным этим.
Это всего лишь для запуска. Чтоб не создаваьт новый класс и уже из него показывать как доступаться к этим переменным, сделал метод для теста этих переменных. Точно так же будешь обращаться из своих других объектов любых классов. <имя_класса>.<имя_переменной> -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
||||||||||
|
|||||||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |