gpt4 book ai didi

java - 如何重写 Java API 中的类,从而使用反射改变它们的行为?

转载 作者:行者123 更新时间:2023-12-02 11:27:23 26 4
gpt4 key购买 nike

是否可以重写 Exceptions 类,从而将我自己的方法注入(inject)其中,从而改变它的整体行为。我相信我在某处读到可以使用自定义类加载器或某种反射技术来完成?我认为它提到使用自定义类加载器来加载自定义类,而不是加载默认的 Java API 类。如果是这样,我们该如何执行此操作,例如在调用 printStackTrace(e) 时创建一个 JOptionPane 异常消息弹出窗口,以提醒用户注意异常消息。

最佳答案

java 开头的包中的类受到 JVM 本身的保护,因此为了能够更改这些包中的类,您需要的不仅仅是不同的类加载器。您可以不采用这种方式,而是使用 System.setErr 设置自己的 PrintStream,这会打开显示在那里打印的文本的警报框。这不仅包括 printStackTrace 的调用,还包括 STDERR 上打印的所有内容。如果调用来自 Throwable 或您想要支持的其他类并忽略其余部分,您可以通过检查新创建的异常的调用堆栈跟踪来使用一些过滤。

关于java - 如何重写 Java API 中的类,从而使用反射改变它们的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49515106/

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