0

为什么不推荐在子类中声明与超类中的字段同名的字段?这里有说明。这种隐藏会导致什么?谢谢你。

4

1 回答 1

3

好吧,这里有两个问题:

  • 一个领域隐藏另一个领域的混乱
  • 有两个状态可能意味着非常相似的事情的混乱

第一点很容易通过简单地保持字段私有来缓解,这通常是一个好主意。然而,可以说第二点更重要。如果您name在同一个对象中有两个字段都被调用(例如),即使没有一段代码知道这两个字段,这表明该对象中确实存在两种名称,在这种情况下它至少有一个字段名称更具体会有所帮助,或者您有两个字段代表同一状态,这非常脆弱且效率低下。(例如,更改一个而不更改另一个太容易了。)

于 2012-09-08T15:09:11.440 回答