我们将部分功能打包在一个外部库中,并附加到我们的项目中。该库不能以任何方式更改。其中有两个类位于其中:com.myorg.Grandpa和com.myorg.Dad扩展com.myorg.Grandpa。在库扩展之外还有一些com.myorg.Grandson扩展类和其他一些类。com.myorg.Dadcom.myorg.Grandpa
我反编译com.myorg.Grandpa类并向它添加一个新方法new_method()。然后我尝试使用new_method()incom.myorg.Grandson但 IDEA 不允许我这样做,因为 Grandson extends Dad 扩展了图书馆的 Grandpa 不包含new_method(). 我试图从图书馆中删除爷爷,但令人惊讶的是,IDEA 一句话也没说,并成功编译了一个项目,尽管事实上爸爸在图书馆的边界上扩展了不存在的类。
问题是如何在不删除图书馆内的爷爷的情况下强迫爸爸续展新爷爷?