JavaPoet - 如何实现"extends"和"implements"

12
使用Javapoet,如何实现以下内容:
  1. 类A继承类B

  2. 类C实现接口D

在Javadoc中提到了如何创建接口。
2个回答

26
使用TypeSpec.Builder.superclass()来表示继承,并使用TypeSpec.Builder.addSuperinterface() 来表示实现。

非常感谢你,Jesse。 - KCMS
我正在创建一个实现Serializable接口的类。如何编写代码生成Serial版本ID? - KCMS
@urSus想发一个pull request吗? - Jesse Wilson

10
假设您想生成一个扩展 Exception 类并实现 Serializable 接口的 Dummy 类。生成的代码如下所示:
...
TypeSpec typeSpec = TypeSpec.classBuilder("Dummy")
  .addSuperinterface(Serializable.class) 
  .superclass(Exception.class) 
  .build();

JavaFile javaFile = JavaFile.builder("sample.javapoet", typeSpec).build();
...

生成的代码将如下所示:

package sample.javapoet;

import java.io.Serializable;
import java.lang.Exception;

class Hoge extends Exception implements Serializable {
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接