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

 
 
 
Сообщения:11
Доброго времени суток. Думаю, проблема не столь сложная, скорее, не знаю как правильно сформулировать её гуглу.
Итак, существует ряд классов, наследующихся от общего предка, например Bonus.
Мой основной класс (Main), создаёт классы Executor, в которых нужно создать разные вариации Bonus, но он не знает какие. То есть мне нужно как-то передавать из Main классы в Executor, чтобы там их инициализировать.
В моём понимании - это как-то так:
Main.java:
Executor executor1 = new Executor(FirstBonus);
Executor executor2 = new Executor(SecondBonus);

А уже Executor создаёт экземпляры:
public Executor(Class className) {
		Bonus bonus = new className();
		//дальше работаем с bonus
		//...
}

Подскажите, как это правильно реализовать на Java.
 
 
Сообщения:7989
Если вы туда передаёте не имя, а сам Class, то можете вызывать просто на нём newInstance, как написано в документации:
https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#newInstance()

www.codeabbey.com - programming problems for novice coders (+ certificates)
 
 
Сообщения:11
RodionGork, когда я пытаюсь передать свой класс, в строке
new Executor(FirstBonus);
Идея ругается на FirstBonus - "Expression expected"
 
 
Сообщения:405
new Executor(FirstBonus.class);
?
 
 
Сообщения:7989
Как правильно подсказывает LetMeFun всё же стоит синтаксис языка познавать... ;-)

www.codeabbey.com - programming problems for novice coders (+ certificates)
 
 
Сообщения:11
Да, так заработало. Спасибо.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет