java - 受控接口(interface)实现

标签 java interface

在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/

相关文章:

java - 使用 Java 中的 Apache Commons 为 CSV 生成字符串内容,而不是编写实际文件

c# - 如何根据字符串动态调用类?

没有虚函数的 C++ 接口(interface)

forms - 如何为具有 gin(框架)和 golang 接口(interface)的表单制作通用表单函数?

oop - 'Strategy Design Pattern' 不就是多态的基本用途吗?

java - 插件未随应用程序启动

java - Spring - 为什么返回值在屏幕中显示 XML 类型?

java - 当 JSON 以 [ 开头时,ReSTLet 抛出错误

java - 在javafx TableView中显示外键

java - Iterable接口(interface)的目的