0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 80
1

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

09.03.2017, 10:22. Показов 6433. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2017, 10:22
Ответы с готовыми решениями:

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

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

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

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

2
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 100
09.03.2017, 12:31 2
Из класса 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
Сообщений: 80
09.03.2017, 17:56  [ТС] 3
Вариант №2
то что нужно. спасибо
0
09.03.2017, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2017, 17:56
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru