在Java中,我定义了一个抽象类,其中既有具体的方法,也有抽象的方法,并且必须由第三方开发人员独立地进行子类化。只是为了确保:我能否对抽象类进行任何更改,这些更改与其类源代码兼容但不与其二进制代码兼容?换句话说,在他们编译子类之后,我可以更改抽象类吗?除了例如向其中添加抽象方法或删除由子类调用的受保护方法(当然是源代码不兼容的)之外,是否还有其他更改方式可能会强制他们重新编译子类?
好的。
你可能会无意中使用一个已经被使用的方法名,这个方法现在突然被覆盖了,可能会产生截然不同的结果。
你可能会向类中添加字段,从而破坏序列化等功能。