在 Java 中继承静态变量

我想要以下设置:

abstract class Parent {
    public static String ACONSTANT; // I'd use abstract here if it was allowed

    // Other stuff follows
}

class Child extends Parent {
    public static String ACONSTANT = "some value";

    // etc
}

这在java中可能吗?如何?如果可以避免的话,我宁愿不使用实例变量/方法.

Is this possible in java? How? I'd rather not use instance variables/methods if I can avoid it.

谢谢!

常量是数据库表的名称.每个子对象都是一个迷你 ORM.

The constant is the name of a database table. Each child object is a mini ORM.

推荐答案

你不能完全按照你的意愿去做.也许可以接受的妥协是:

you can't do it exactly as you want. Perhaps an acceptable compromise would be:

abstract class Parent {
    public abstract String getACONSTANT();
}

class Child extends Parent {
    public static final String ACONSTANT = "some value";
    public String getACONSTANT() { return ACONSTANT; }
}

相关文章