我想重写一个我无法控制的工厂交给我的对象中的方法。
我的具体问题是我想覆盖 Socket object 的 getInputStream 和 getOutputStream 来执行 wire记录。
一般问题如下:
public class Foo {
public Bar doBar() {
// Some activity
}
}
我想使用实例化的 Foo
并将 doBar
替换为我自己的,其工作方式如下:
Bar doBar() {
// My own activity
return original.doBar();
}
对于 Socket,我将返回一个 InputStream 和 OutputStream,它们通过日志记录来截取数据。
最佳答案
由于 Java 使用基于类的 OO,这是不可能的。您可以使用 decorator pattern ,即为返回包装流的对象编写一个包装器。
关于java - 覆盖实例化 Java 对象中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3875666/