2012-05-23 21 views
4

我想知道:将属性适配到属于大型继承结构的类中的最佳方法是什么?我想制作一个抽象的静态方法,每个类都会覆盖,但是在一个快速的谷歌之后似乎不起作用。有什么建议么?在java中替代过度静态

我可以使它成为一个实例方法,但它确实是一个类级别的规范。

在此先感谢。

+1

正如您发现的那样,Java中不存在静态多态。总体目标是什么? –

+0

你能详细解释一下你想用这种静态方法做什么吗?也许我们可以找到另一种解决方案。 – Tudor

+0

更具体地说:我们正在处理一个布尔值,我需要能够专门查询每个类的对象。所以我想我回答了我自己的问题:我应该把它作为一个实例方法。 –

回答

3

我建议你创建一个抽象方法,就像你想的那样,并且让这个方法按照每个类中的静态变量来实现。

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; 
    } 
} 

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