Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
yuri1989
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 59
1

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

09.03.2017, 10:22. Просмотров 708. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2017, 10:22
Ответы с готовыми решениями:

Создать экземпляр класса
Здравствуйте. У меня есть массив String s; s - тут хранится имя класса,...

Не удается создать экземпляр класса
Не удается создать экземпляр класса. Строка NewClass r = NewClass();...

Как создать экземпляр внутреннего класса в родительском классе
Как создать экземпляр этого класса в статическом методе main. public class...

Приведите пример класса с методом и конструктором. Создайте экземпляр этого класса. Правильный ли пример?
class Point { int х, у; Point(int х, int у) { this.x = х; this.у = у;...

Удалить экземпляр класса в массиве
в клсассе Group нужен метод удаления студента из группы по номеру зачетной...

2
Asia4444_
32 / 32 / 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
yuri1989
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 59
09.03.2017, 17:56  [ТС] 3
Вариант №2
то что нужно. спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2017, 17:56

Перенос строки из одного класса в JTextArrea другого класса
Есть два класса. Первый public class TestClass1 extends JFrame { ...

Как передать входящее значение одного метода класса на возврат в другой метод того же класса?
Я самый новейший новичок. Помогите.Как передать входящее значение (количество...

Как вызвать из одного класса (для метода типа void) метод типа boolean другого класса?
ребят, только учусь и конечно, вопросов возникает много. ситуация вот в чем....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru