嗨:我有一个定义以下方法的类:
public String abstract getAnimalName();
还有一个子类
class Ralph extends Animal
{
public String getAnimalName(){return "RALPH";}
}
我希望“Ralph”的 getAnimalName 是静态的,因为只有一个,无状态的 拉尔夫名字的版本。
因此,我想静态实现 getAnimalName,同时仍然满足接口(interface)。这可能吗 ?也许,有没有一种方法可以使用依赖注入(inject)或 AOP 技术通过在运行时代理静态对象来提供对象实现?
按照我的口味,明显的解决方案(使用对象作用域方法包装静态方法)有点像样板代码。
最佳答案
不,你所能做的就是你最后的建议。
这可能是一个警告,表明设计中存在可疑之处。
Ralph 是一个实例,因此需要遵守 getAnimalName
的约定。
关于java - java中对象作用域方法的静态实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8734411/