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