【发布时间】:2016-08-16 00:20:59
【问题描述】:
假设我有一个名为 BaseClass 的类,它看起来像这样
class BaseClass{
String var1;
int var2;
public void methodToBeOverridden(){}
}
我需要创建大量继承此类的类。它们都将覆盖methodToBeOverridden(),但都将在静态上下文中实例化。由于它们都需要是静态的,因此据我所知,它们不能放在单个 .class 文件中。有没有比为每个实例创建一个单独的 .class 文件更简洁的方法呢?我真的怀疑有,但我想我会在开始之前在这里问一下,以防万一。
【问题讨论】:
-
您可以在同一个类文件中创建static nested classes。如果它们不是公开的,您还可以在一个文件中声明多个顶级类,但通常不鼓励这样做。
-
我不认为这个 BaseClass 是必要的。我建议使用枚举来实现它。
-
也许也是功能接口和方法句柄的工作。您可以在一个类中包含所有变体。
标签: java static instantiation