在Serialization中,我们要序列化的类必须实现Serializable接口(interface),否则会抛出NotSerializableException。在 Java 的各种特性中还有许多其他类似的例子。现在我只想知道如何在自定义类和接口(interface)中引入这种控制。我有一个名为 Agent 的接口(interface)。可以有许多不同类型的代理,它们都必须实现代理接口(interface)。我还有一个名为 Node 的类。节点创建代理。现在如何在这种情况下引入控制,使得代理总是实现代理接口(interface),否则将抛出异常。我可能听起来有点含糊,但如果有人可以向我提供大概的想法,那么我可以在必要时提供进一步的细节。
最佳答案
如果您有一个必须采用代理的节点方法,则指定参数必须是一个代理。
interface Node {
void method(Agent agent); // must be an Agent.
Agent returnAgent(); // must return an Agent.
}
序列化是一个特例。这是因为并非所有可序列化的类型都是可序列化的。像 int[] 这样的内置类型是可序列化的,但不实现可序列化。这种类型的检查不能由编译器完成,只能在运行时完成。
关于java - 受控接口(interface)实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6510971/