有几种方法可以实现这个目标。 使用 javax.tools 包在运行时编译源代码,然后使用 ClassLoader 加载它们。 如果你正在编写接口,可以使用 Proxy 修饰类。 采用更为复杂的字节码操作/生成方法,使用像 BCEL 或 ASM(后者对注释等语言特性有更完整的支持)技术,然后使用 ClassLoader 加载类。 我想还有其他选项。