【发布时间】:2010-06-08 21:35:21
【问题描述】:
在 Java 中,有没有办法在类 A 的成员方法中创建扩展抽象类 A 的任何类的实例?扩展抽象类 A 的类将使用此方法返回它们的实例,但我不想在所有子类中使用“return this();”实现相同的方法;亲切的线条。
编辑:好的,很抱歉简短的解释。在我的应用程序中,有一个名为 Application 的接口,它有一个返回 Application 类型的 getInstance() 方法。有一个抽象类叫AbstractApplication,它是Application接口实现的便利类,但只有接口暴露在其他应用程序中。在其他一些应用程序中,会有一个应用程序对象的查找,这个查找将返回一个应用程序类型(接口),而不是一个具体的实现。现在这是我的问题;有没有办法在 AbstractApplication 类中实现 getInstance() 所以子类不需要实现这个方法?
【问题讨论】:
-
愿意为您要实现的目标提供一些伪代码吗?
-
要么为时已晚,要么还不清楚你想做什么。你能举个例子(代码)吗?我确信这应该是可能的,但是,唉,我真的不明白你想首先做什么。
-
问题是,你为什么需要自己返回的东西?
-
@Andrei 我认为这个问题需要解释为一种返回同一实现类的新实例的方法。
-
我唯一的问题是,谁首先创建了应用程序?对于直到运行时才知道应用程序的场景,您可以使用原型设计模式。请参阅下面的答案。