Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 81

Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса

09.03.2017, 10:22. Показов 7427. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Подскажите пожалуйста.
есть несколько классов-файлов в одном пакете.
class one
class two
class main...
Нужно создать экземпляр класса one в main и корректно передать его в two.

Подскажите пожалуйста как это сделать.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
    public static void main(String[] args) {
        One onez = new One();
  }
}
 
public class one{
    //...
}
 
public class two{
    // тут мне нужно работать с экземпляром onez.
}
это вроде как то связано с тематикой управления зависимостями.
подскажите пожалуйста как обратиться к onez в two?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2017, 10:22
Ответы с готовыми решениями:

Как в случае с Dependency Injection внедрять отдельный экземпляр некоторого класса только лишь для одного другого класса
Здравствуйте, пытаюсь понять как же всё таки правильно использовать Dependency Injection в случае c ASP.NET Web Api2 и Entity Framework 6...

Как создать экземпляр класса внутри другого, явно не указывая его название
Как создать екземпляр класса внутри класса явно не указывая его название и не присваивая в переменную его название class Test{ ...

Как обратится к переменной из другого класса, не создавая его экземпляр?
Добрый день. Подскажите, как обратится к переменной из другого класса, не создавая его экземпляр?

2
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101
09.03.2017, 12:31
Из класса two вы никак не обратитесь к объекту, созданному в методе main. Если бы onez стал переменной класса Main, то обратиться можно было бы Main.onez. Но это не так.
Можно ещё в метод класса two передать onez, сохранить его в классе two и работать.
Короче, вот вам несколько примеров, выбирайте, какой подходит больше:
Вариант №1
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
    public static One onez = new One();
    public static void main(String[] args) {
  }
}
 
public class One{
    //...
}
 
public class Two{
    // обращаетесь здесь к объекту onez так: Main.onez
}
Вариант №2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Main {
    public static void main(String[] args) {
        One onez = new One();
        two.job(onez);
  }
}
 
public class One{
    //...
}
 
public class Two{
    public static void job(One onez) {
         //Здесь работаете с onez, так к нему и обращаетесь, onez.
    }
}
Вариант №3
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Main {
    public static void main(String[] args) {
        One onez = new One();
        Two two = new Two(onez);
        // Теперь onez сохранён в объект two класса Two. Можете и отсюда к нему обратиться two.onez, а можете просто onez
        // так как он был создан именно здесь.
  }
}
 
public class One{
    //...
}
 
public class Two{
    One onez;
    public two(One one) {
        this.onez = one;
    }
    // теперь можно работать с onez в других методах, обращаясь this.onez
}
1
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 81
09.03.2017, 17:56  [ТС]
Вариант №2
то что нужно. спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.03.2017, 17:56
Помогаю со студенческими работами здесь

Экземпляр класса как входные данные метода другого класса
Можно ли в качестве входных данных метода передать экземпляр метода другого класса? Если да, то как?

Создать экземпляр класса по его конструктору
Здравствуйте, допустим у нас есть метод: // Создает экземпляр класса по его конструктору (псевдокод) public function...

Работа с классами (в главном классе создать указатель на экземпляр другого класса)
Недавно начал изучение С++, в частности ООП. В связи с чем у меня есть вопрос как в главном классе можно создать указатель на экземпляр...

Как вместо ссылки на экземпляр класса передать поле класса?
Делаю свою шаблонную функцию для свойств с событиями, при обращении к таким свойствам приходится писать что то похожее на: public...

Создание экземпляр класса из другого класса
Добрый день, форумчане. Помогите разобраться с такой плюсовенькой проблемой: есть 2 класса (назовем их A & B). Нужно в классе B...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru