Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2017, 02:03   #1
sameuser
Пользователь
 
Регистрация: 22.12.2016
Сообщений: 22
По умолчанию Обращение к объекту

Привет. Не знал, как точно назвать тему. Немного запутался..

Вкратце суть такова: есть класс Cell (ячейка игрового поля) со своими свойствами, методами.. Есть класс Main, в котором создается игровое поле размером 10 х 10 ячеек класса Cell:

Код:
public class Main
{
    public static void main(String[] args)
    {
        Cell[][] CompArea = new Cell[10][10];
        Cell[][] UserArea = new Cell[10][10];
        ...
        showArea ( CompArea );
    }
    ...
}
В классе Main вызывается метод showArea, который позволяет вывести в консоль свойства объектов Cell.

Я могу передать из метода main класса Main объект Cell в любой другой метод (в данном случае в метод showArea и произвести нужные процедуры - вывести статус ячеек, например) :

Код:
private static void showArea ( Cell[][] Area )
{
    for (int i = 0; i < Area.length; i++) {
        for (int j = 0; j < Area[i].length; j++) {
            System.out.print(Area[i][j].getStatus() + " ");
        }
    }
}
С этим все понятно.
Но мне создать метод, который бы проводил нужные процедуры с объектом без прямой передачи этого объекта в качестве аргумента?

Или как обратиться к объекту внутри какого-то другого метода, в который не был передан этот объект? В памяти-то объект остался, никуда не исчез, но как его вызволить?

Код:
private static void anotherMethod ()
{
    ...
    // потребовалось тут вывести содержимое ячеек UserArea.
    // нужна какая-то ссылка на объект, с которым я далее могу продолжить работу. Как отсюда к нему обратиться? 
    for (int i = 0; i < Area.length; i++) {
        for (int j = 0; j < Area[i].length; j++) {
            System.out.print(Area[i][j].getStatus() + " ");
        }
    }
}

Последний раз редактировалось sameuser; 11.09.2017 в 02:09.
sameuser вне форума Ответить с цитированием
Старый 11.09.2017, 03:53   #2
sameuser
Пользователь
 
Регистрация: 22.12.2016
Сообщений: 22
По умолчанию

В качестве промежуточного варианта решение такое:
передавать оба объекта ( UserArea & CompArea ) в метод, а внутри метода уже решать, с каким именно работать в тот или иной момент времени. Хотя, конечно, это и не слишком изящно..
sameuser вне форума Ответить с цитированием
Старый 11.09.2017, 05:39   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от sameuser Посмотреть сообщение
Или как обратиться к объекту внутри какого-то другого метода, в который не был передан этот объект?
Зачем такой ужас может потребоваться?
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к выделенному объекту Алексей_2012 Общие вопросы Delphi 11 14.05.2013 09:01
Обращение к объекту по имени Kazak009 C++ Builder 3 05.05.2012 08:37
Обращение к объекту другой формы (WPF) RIO WPF, UWP, WinRT, XAML 2 26.11.2011 15:00
обращение к объекту из другой формы Darlee Общие вопросы Delphi 4 11.06.2011 14:27
(C#) обращение к объекту из другой формы megazz13 Помощь студентам 2 29.01.2011 07:44