java中过度隐藏静态的替代方法

java中过度隐藏静态的替代方法,java,inheritance,static,abstract,Java,Inheritance,Static,Abstract,我想知道:对于一个属于大型继承结构一部分的类,最好的方法是什么。我想创建一个抽象的静态方法,每个类都会覆盖它,但在快速搜索之后,它似乎不起作用。有什么建议吗 我可以让它成为一个实例方法,但它实际上是一个类级规范 提前感谢。我建议您创建一个抽象方法,正如您所想的那样,并让该方法在每个类中根据静态变量实现 abstract class Base { abstract String getValue(); } class A extends Base { static String

我想知道:对于一个属于大型继承结构一部分的类,最好的方法是什么。我想创建一个抽象的静态方法,每个类都会覆盖它,但在快速搜索之后,它似乎不起作用。有什么建议吗

我可以让它成为一个实例方法,但它实际上是一个类级规范


提前感谢。

我建议您创建一个抽象方法,正如您所想的那样,并让该方法在每个类中根据静态变量实现

abstract class Base {
    abstract String getValue();
}

class A extends Base {

    static String aValue = "From A";

    String getValue() {
        return aValue;
    }
}

class B extends A {

    static String bValue = "From B";

    String getValue() {
        return bValue;
    }
}

每个类都需要多一点锅炉板,而不仅仅是一个字段声明,但我相信这是很难做到的。

正如您所发现的,Java中不存在静态多态性。总体目标是什么?你能更详细地解释一下你想用这个静态方法做什么吗?也许我们可以找到另一种解决方案。更具体地说:我们正在处理一个布尔值,我需要能够专门查询每个类的一个对象。所以我想我回答了我自己的问题:我应该把它变成一个实例方法