嗨:我有一个定义以下方法的类:

public String abstract getAnimalName();


和一个子类

class Ralph extends Animal
{
    public String getAnimalName(){return "RALPH";}
}


我希望“拉尔夫”的getAnimalName是静态的,因为只有一个无状态
拉尔夫名字的版本。

因此,我想静态地实现getAnimalName,同时仍然满足该接口。这可能吗 ?也许,有一种方法可以使用依赖注入或AOP技术通过在运行时代理静态对象来提供对象实现吗?

显而易见的解决方案(让对象范围的方法包装静态方法)对我的口味有点boiler头。

最佳答案

不,您的最后建议是您所能做的。

这可能是警告,表明设计中有可疑的东西。

Ralph是一个实例,因此需要遵守getAnimalName的约定。

09-10 03:23