我需要根据条件实例化两种不同类型之一的对象。两种类型的构造函数都采用相同的参数,并且都是主类型的子类。我可以在条件内定义对正确类型的引用,然后使用该引用实例化对象吗?快速示例:
if (v == "bob") {
Object myType = bobType;
} else {
Object myType = otherType;
}
SuperType instance = new myType(arg1, arg2);
这不起作用;在java中有正确的语法吗?这是这样做的捷径:
if (v == "bob") {
SuperType instance = new bobType(arg1, arg2);
} else {
SuperType instance = new otherType(arg1, arg2);
}
我实际上正在制作几个实例,它们都是相同类型的,它们都需要一长串参数,并且我想避免完全重复自己,除了类型。