java - java中对象作用域方法的静态实现

标签 java dependency-injection static boilerplate aop

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

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/

相关文章:

java - 在静态方法中加载资源文件

java - Twitter 用于软件开发(java)?

java - Spring JPA 查询只有一个参数,不区分大小写,但有多个参数

objective-c - 你能在 Objective-C 中完成某种形式的依赖注入(inject)吗?

c# - 为什么我必须在 ASP.NET MVC 中进行 "wire up"依赖注入(inject)?

java - 改变静态 boolean 值

Java/.NET 将垃圾收集器的引用标记为 "do not follow"?

java - Gradle:查找使用 + 导入的依赖项的已解析版本

c# - 我可以在 Controller 的构造函数中访问 User.Identity.Name 吗?如果不是,最佳实践是什么?

c - 调试时无法按名称找到静态变量