Java 如何动态选择一个类?

Java 如何动态选择一个类?,java,class,dynamic,Java,Class,Dynamic,我有两个类扩展了第三个类,即 public class class_a extends parent_class 及 我的问题是,是否可以让第三个类根据条件创建对类的引用?i、 e public void test() { parent_class b; if (cond) b = new class_a(); else b = new class_b(); } 有办法吗 我不想为每种类型的类创建变量,我只会在函数的整个生命周期中使用一个变量 这正是工厂设计模式的

我有两个类扩展了第三个类,即

public class class_a extends parent_class

我的问题是,是否可以让第三个类根据条件创建对类的引用?i、 e

public void test() {
  parent_class b;
  if (cond)
    b = new class_a();
  else
    b = new class_b();
}
有办法吗


我不想为每种类型的类创建变量,我只会在函数的整个生命周期中使用一个变量

这正是工厂设计模式的目的


这也可能有用

这正是factory设计模式的用途

这也可能有用

是。 允许您将威胁子类作为基类。 因此,您可以编写父类返回值类型为的方法,如下所示:

parent_class create(boolean condition)
{
   return condition ? new class_a() : new class_b();      
}
正如@John所回答的,它被称为工厂方法

另外,在Java中,最好使用ClassA和ParentClass等命名类

是的。 允许您将威胁子类作为基类。 因此,您可以编写父类返回值类型为的方法,如下所示:

parent_class create(boolean condition)
{
   return condition ? new class_a() : new class_b();      
}
正如@John所回答的,它被称为工厂方法


另外,在Java中,最好使用ClassA和ParentClass等命名类

你试过运行代码吗?我觉得不错。你试过运行代码吗?我觉得很好。谢谢,我会看的。谢谢,我会看的。谢谢,我也会看你对骆驼套的评论。谢谢,我也会看你对骆驼套的评论。