这样的常量不能,因为字段在类的所有实例(包括所有子类的实例)之间共享。下面介绍如何将其实现为非静态常量:staticstaticpublic abstract class Foo { public final String name; // Particular value to be defined in subclass protected Foo (String name) { this.name = name; }}public class Bar extends Foo { public Bar () { super ("Zoo"); // Here we define particular value for the constant }}顺便说一句,不是接口的一部分。serialVersionUIDSerializable
当一个类实现没有您在 IDE 中看到的小消息时,编译时会发出警告。如果你想创建这样的东西,你可以,但这个过程似乎很复杂。解决方案就在这个答案中。SerializableserialVersionUIDjavac它们详细介绍了,但一般思想是创建注释和注释处理器,并在编译期间使用注释处理器。我猜你可以使用反射(或者...不是反射,因为它是编译时间?以查看带注释的类是否包含所需的字段。