Как программно дать имя экземпляру класса? Учу Java, столкнулся с такой проблемой, нужно вводить имя игрока, и , на основании этого имени создается новый объект класса Игрок, но я понял, что не могу и не знаю как это сделать. А как без этого создавать другие объекты, количество которых будет разным?public void gameStart() {
String name;
Scanner input = new Scanner(System.in);
System.out.println("Input your player name:");
name = input.next();
System.out.println("You name now: " + name);
... здесь я хотел создать объект, но понял, что не могу
}
Вобщем проблема такая, что везде где нужен объект, мне нужно писать конструкцию типа:Team ivan = new Team("Ivan");
Как сделать это динамически? Вобщем, я хочу чтобы каждый раз выполнении метода создавался экземпляр класса.

21 Авг 2019 в 07:01
212 +1
0
Ответы
1

Для динамического создания объекта класса, вы можете использовать рефлексию в Java. В вашем случае для создания объекта Игрок с именем, введенным пользователем, вы можете использовать следующий код:

public void gameStart() {
String name;
Scanner input = new Scanner(System.in);
System.out.println("Input your player name:");
name = input.next();
System.out.println("You name now: " + name);
try {
Class<?> playerClass = Class.forName("Player");
Constructor<?> constructor = playerClass.getConstructor(String.class);
Object player = constructor.newInstance(name);
// Теперь у вас есть объект player класса Player с заданным именем
} catch (Exception e) {
e.printStackTrace();
}
}

Пожалуйста, обязательно убедитесь, что у вас есть класс Player с конструктором, который принимает строку (имя игрока) для использования этого кода.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир