Java 向超类添加新方法以及由此产生的问题-可能性?

Java 向超类添加新方法以及由此产生的问题-可能性?,java,overriding,superclass,effective-java,Java,Overriding,Superclass,Effective Java,《有效的Java第二版》第16条,支持组合而不是继承说 “如果超类在后续版本中获取了新方法 如果给了子类一个具有相同签名的方法,那就太倒霉了 和一个不同的返回类型,您的子类将不再编译 如果您给了子类一个方法,该方法的签名和返回类型与 新的超类方法,然后您现在覆盖它“ 这些案例在现实世界中出现的可能性有多大?这里有人能给我举一个真实商业应用程序的例子吗(如果需要,去掉专有信息)?这不是关于这种情况的可能性有多大。(此外,我相信你也听说过) 这是关于这样一个事实:与继承相比,组合更不具有约束力 继承

《有效的Java第二版》第16条,支持组合而不是继承说

“如果超类在后续版本中获取了新方法 如果给了子类一个具有相同签名的方法,那就太倒霉了 和一个不同的返回类型,您的子类将不再编译

如果您给了子类一个方法,该方法的签名和返回类型与 新的超类方法,然后您现在覆盖它“

这些案例在现实世界中出现的可能性有多大?这里有人能给我举一个真实商业应用程序的例子吗(如果需要,去掉专有信息)?

这不是关于这种情况的可能性有多大。(此外,我相信你也听说过)

这是关于这样一个事实:与继承相比,组合更不具有约束力


继承是在类之间绑定行为的一种非常强大的方式,基本上第16项规定,只有在明确必要时才应该使用这种强大的连接。对于所有其他用途,应首选成分。

这是主观的。如果它真的发生了,那么我会说这是一个糟糕的设计。@Sagar V这是如何主观的?@Helper方法:这种真实世界中出现的情况是主观的,受许多不同条件的影响。缺乏正确的设计,不完整的要求,纯粹是运气不好或懒惰:)@Sagar V Sry,误解了你。我以为你指的是作文和继承的事:-)。