gpt4 book ai didi

java - Java中如何实现对象代理或类代理?

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:26 25 4
gpt4 key购买 nike

我需要在我的项目中扩展 .class 文件,并且需要重写一个简单的方法。考虑我有一个类 A,它位于某个 .jar 包中。现在我想重写类 A 的 test() 方法。我使用创建 A 的子类 B 并重写它来做到这一点。现在在我的应用程序包(它是.jar)中为A类创建了对象。该对象调用A类的方法。但我想调用B类的方法。

我的想法是在整个应用程序中代理对象创建。每当创建 A 类的对象时,我想要一些配置来创建 B 类的对象并移交给 A 类启动。

请有人帮助我实现这种类型的机制。

最佳答案

仅当构造函数是私有(private)时,您才能阻止或控制类实例化。

如果无法覆盖原来的基类,又想代理它,就需要一个工厂,建议程序员使用工厂,而不是直接调用基类的构造函数。

在工厂代码中,您可以返回一个作为基类代理运行的子类。

Remember that this is only an advice. You can't block programmers to manually create instances of a class with a public constructor.

关于java - Java中如何实现对象代理或类代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com