【发布时间】:2012-10-03 13:45:50
【问题描述】:
此消息仅适用于 Java。如果方法在超类中,则可以通过两种方式调用该方法:
foo();
super.foo();
总是做后者有什么坏处吗?作为一种编码风格,我更喜欢后者,因为方法调用的来源一目了然。在任何情况下“超级”将不存在或不做我认为它会做的事情?
【问题讨论】:
-
这不是风格问题,而是目的问题。 foo() 将指向 this.foo() 或 super.foo() 如果这个类没有覆盖 foo();然而 super.foo() 将永远是 super.foo()。希望能解决这个问题。
-
是的,总是使用 super 是有害的。使用 super 意味着调用超类方法——即使它现在或将来某个时候被层次结构中的 this 或其他类覆盖。
标签: java coding-style