Здравствуйте. Есть несколько разновидностей одного класса. Это что-то вроде тем, если говорить про gui, так что в определенный моммент нужно подключить только 1 класс. Есть структура
versions
-1
-2
Т.к. во многих файлах приходится писать import app.versions.1.Class, то можно ли вместо 1 писать переменную или что-то в этом роде?
Может быть Вам стоит пересмотреть архитектуру приложения? Рефлексия не лучший способ решения проблемы, думаю, если можно обойтись без нее, то нужно избегать, слишком затратно по производительности.
Ниже правильно посоветовали, пересматривайте подход и внедряйте слабосвязанность классов.
@Power Есть интерфейс, пускай это будет класс App, который предоставляет данные и два класса: Job и Job. Классы имеют одинаковое имя, но оперируют данными по разному.
В каком-то месте выполняется работа и выводится результат. В зависимости от того, что я напишу в import'e, будет зависеть результат работы.
import app.version1.Job
import app.version2.Job
Если набор реализаций интерфейса App известен заранее, то обычно применяют простое условие, типа:
public App getApp() {
if (что-то) { return new app.version1.Job(); }
else if (что-то другое) { return app.version2.Job(); }
}
Ну и дальше где-то вызываете метод getApp(). Фактически, это шаблон "фабрика объектов".
В более сложных случаях применяют что-то типа dependency injection.