0

据我所知,我可以使用 AspectJ 来替换具体实现的抽象方法。

是否也可以使用 AspectJ(或另一种 AOP 语言)将类的定义从抽象更改为非抽象?(在使用类型间声明为抽象类中的所有抽象方法提供具体实现之后)。

4

1 回答 1

0

根据您的评论,我建议这样做:

  • 让你上课非抽象(删除 absteact 关键字)
  • 提供引发运行时异常的默认实现

这将迫使您的库的用户为“抽象”方法提供 impls,但允许您的类是具体的。

此模式已在 JDK 中使用。

于 2013-03-30T20:15:19.137 回答