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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эффективное использование переменных 
:(
    Опции темы
bulat01
Дата 25.10.2011, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 26.10.2010

Репутация: нет
Всего: 0



Привет всем спецам по Java,

Разрабатываю программу для загрузки документов в Базу.
но в виду того что что не имею достаточно опыта и знаний в программировании Java,
разработка замедляется.

У меня 2 вопроса:

1) Мне постоянно приходится передавать значения переменных в другие классы - 
есть ли способ просто ссылаться из разных классов на нужные переменные в находящиеся одном классе?
а то я запутался уже. Не судите строго.

2) Я так понял когда передаешь переменную в другой класс через метод.
Там передаваемое значение для переменной будет доступно только в пределах этого метода.
За пределами оно будет показывать null.

Ну вот к примеру:

AuthorizationDocbase.java
-----------------------------------------------------------------------------------------

Код

class AuthorizationDocbase {
....
....


public void authorization() 
.....
.....

DataCollection dc = new DataCollection();
dc.initVariables(user_variable_value, docbase_variable_value);

}

}



DataCollection.java
-----------------------------------------------------------------------------------------
Код

class DataCollection{
......
......
......

String dbAccount_value_auth2;
String dbURL_value_auth2;


public void initVariables(String dbAccount, String dbURL) {
 System.out.println("Passed Params authorize2: " + dbAccount + " " + dbURL);
        
dbAccount_value_auth2 = dbAccount;
dbURL_value_auth2 = dbURL;   
}
}


за приделами метода  initVariables -  переменные dbAccount_value_auth2 и dbURL_value_auth2 будут меть значение null.
как это можно исправить - чтобы передать локальной переменной значение из метода.




Это сообщение отредактировал(а) bulat01 - 25.10.2011, 07:37
PM MAIL   Вверх
Andy_L20066
Дата 25.10.2011, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



привет,  

в вашем примере пока вы не вызовете метод initVariables - dbAccount_value_auth2 и dbURL_value_auth2 будут иметь значение null, поскольку при создании обьекта - они сетаются по дефолту в null, если другое не задано в конструкторе

FYI:
переменные примитивного типа передаются в метод по значению, для обьектов же будет передаватся референс (ссылка) (если метод принимает на вход обьект- то всередине он работает со ссылкой на этот обьект) 
PM MAIL ICQ   Вверх
Pawl
Дата 26.10.2011, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 7
Всего: 28



Цитата(bulat01 @  25.10.2011,  07:34 Найти цитируемый пост)
есть ли способ просто ссылаться из разных классов на нужные переменные в находящиеся одном классе?

Есть. Объявить переменные как public static, а потом реализовать статический импорт в другие классы.



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

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

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


 




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


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

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