java - 如何为任何用户定义的类创建包装类

标签 java wrapper

有人告诉我我们可以为任何用户定义的类创建包装类,而不仅仅是为基元创建包装类,如果是的话!那么我们如何创建它,我不知道从哪里开始,请您提供任何用于此目的的演示代码。 等待您的回复....

最佳答案

术语“包装”有时与封装意思相同,其中对象或类型由类在内部用作其实现细节的一部分,并且不会将其暴露给外部代码.然而,包装通常特指将一个类封装在另一个类中的行为,该类实现与包装类相同的接口(interface),但略微改变其行为或添加新功能(Decorator Pattern),或外部类实现了一个不同的接口(interface),本质上是转换包装类以使其与另一个程序兼容(Adapter Pattern)。这两种类型的包装几乎都是手动完成的,并且必须在编译时完成(通过编写代码)。

您还可以使用 java.lang.reflect.Proxy.newProxyInstance(...) 在运行时为几乎任何对象生成动态代理。您可以在 Dynamic Proxy Classes 上阅读官方指南。学习如何使用它。但是,您还没有给出任何用例,所以这可能不是您要找的。代理通常保留用于保护对象或通过 RPC 委托(delegate)给远程服务器,并且可能非常复杂。

关于java - 如何为任何用户定义的类创建包装类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5731850/

相关文章:

java - Spring Web 服务流程

java - 返回类型中的推断通配符泛型

css - 当我改变 wrapper 的背景时,为什么没有改变?

c# - 如何为 C# 包装具有多种类型的 C++ 结构?

java - Spring/Spring Boot 转换 - 如何在 Converters 上建立链?

java - OpenJML 中的编程静态检查

python - 如何将 C 库包装在 SWIG 中,它通常在 C 编译期间链接?

naming-conventions - 命名包装类的经验法则

c# - 在 C# winforms 中使用 C++ 库

java - 如何在 Scala 中将典型的 Json 文件格式打印到 Hashmap(Map) 中?