我一直在尝试为类实例生成唯一的ID,从1开始,像这样:
public abstract class foo {
static int ID = 0;
final int id;
public foo() { this.id = ++ID; }
}
我意识到我有几个需要这种行为的类,因此我尝试创建一个抽象类来继承,但我发现静态字段不能真正被继承。在Java中,有没有办法重复使用这个普遍的行为?
编辑: 我没有说清楚,但我需要每个子类的索引不仅唯一,而且连续。
例如,如果我有bar和baz从foo继承:
bar b1 = new bar();
baz b2 = new baz();
bar b3 = new bar();
应该有,而应该有。