0

我们有一种情况,我们正在使用某个库,我们想自定义库中使用的一个小型私有方法的逻辑。不幸的是,该库编写得不好,无法扩展。

所以基本上,想象一下如果我们有一个ClassA像这样的类的库:

public class ClassA {

    public String buildMessage(){
        return "Hello, "+ buildSuffixString();
    }

    private String buildSuffixString(){
        return "World!";
    }
}

该类ClassA由该类在库中使用ClassBClassB在库中被ClassC等等使用。ClassB使用如下代码在构造函数中创建它的依赖项classA = new ClassA();(不幸的是)。使用类似;ClassC的代码在构造函数中创建其依赖项。classB = new ClassB()等等。

我们想强制每个使用方法buildMessage()的人ClassA来获取Hello, Kitty!消息而不是Hello, World!(即我们需要将私有方法的实现替换buildSuffixString()为我们自己的实现)。有没有办法通过使用反射或Java编译器或其他东西来改变私有方法的逻辑?

4

0 回答 0