java - 如何使用 Eclipse JDT 扩展基类并实现接口
问题描述
我正在使用 Eclipse JDT 库。
import cfjapa.parser.ast.body.ModifierSet;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.dom.*;
import java.util.List;
public class Main {
public static void main(String[] args) {
AST ast = AST.newAST(AST.JLS13, true);
CompilationUnit unit = ast.newCompilationUnit();
// set strategy pattern package name
PackageDeclaration packageDeclaration = ast.newPackageDeclaration();
packageDeclaration.setName(ast.newSimpleName("strategy"));
unit.setPackage(packageDeclaration);
// define strategy interface
TypeDeclaration type = ast.newTypeDeclaration();
type.setInterface(Boolean.TRUE);
type.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
type.setName(ast.newSimpleName("Strategy"));
// define strategy interface method
MethodDeclaration methodDeclaration = ast.newMethodDeclaration();
methodDeclaration.setConstructor(false);
List modifiers = methodDeclaration.modifiers();
modifiers.add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
methodDeclaration.setName(ast.newSimpleName("algorithmInterface"));
methodDeclaration.setReturnType2(ast.newPrimitiveType(PrimitiveType.VOID));
type.bodyDeclarations().add(methodDeclaration);
unit.types().add(type);
System.out.println(unit);
}
}
现在我想要另一个类来实现上面的接口Strategy
。我怎样才能做到这一点?
我在文档中找不到任何好的示例。
解决方案
推荐阅读
- node.js - 使用 reactjs 作为前端和 nodejs 使用 oracledb 作为后端的登录页面
- animation - SVG 动画在 webpack 加载动态 Vue 组件时暂停
- c# - 带有主体的(setter 或 getter)之一的属性
- google-cloud-platform - 如何从具有多个网络接口的 GCE VM ping 不同网络和区域上的 VM(Qwik Labs)
- python-3.x - 在 Python 中遍历链表的问题
- python - 从 sqlite 元组转换为字符串
- spring-boot - 从部署在 Kubernetes 中的应用程序连接到外部数据库
- sage - 是否有一个 sage 模块来解决诸如 ax+by=c 之类的方程?
- php - 我可以在 laravel 的控制器中为 get 和 post 方法使用相同的名称吗
- laravel - 当插入多行时,foreach laravel 的参数无效