【发布时间】:2012-03-15 20:50:48
【问题描述】:
我正在开发一个 java 应用程序。这是一个抽象类 Model 和 2 个派生类 Model 1 和 Model 2。Model1 和 Model2 的行为不同,所以我想让用户从两者中选择一个模型。 它可以像这样实现:
Model model;
If(response==1){
model = new Model1();
}else if(response==2){
model = new Model2();
}
现在的问题是,如果我添加一个新类 Model3,我必须重写代码。 我可以创建一个列表,在其中添加每个类的实例,然后添加一个静态方法,该方法将返回该类的新实例,但我希望可以用更多的样式来完成。
是否可以创建一个列表来保存每个类的类型。从这个列表中,我可以创建一个菜单来选择一个模型,然后使用该类型来创建用户需要的类。
那么有没有可能,创建一个List<Class>,然后使用Class对象作为构造函数,来创建给定类的一个实例?
【问题讨论】:
标签: java list class inheritance