【问题标题】:Java Compiler Overloading [closed]Java编译器重载[关闭]
【发布时间】:2012-11-27 15:30:20
【问题描述】:

为什么java允许重载?一个具有 10 个同名方法的类会给编译器带来压力,而且还会助长不良的编程习惯。

【问题讨论】:

  • "一个类有 10 个同名方法会对编译器造成压力" 它们没有相同的签名并且重载规则定义得很好,所以不是真的...
  • 你从哪里得到这些想法?
  • 你并不比java创造者聪明。谷歌搜索,你会很快得到答案
  • 这肯定是主观的/争论的。

标签: java


【解决方案1】:

java 编译器使用消息签名(名称、接受的参数和类型以及在某种程度上的返回类型)而不是方法名称来标识方法,因此编译器没有额外的压力。如果两种方法达到相同的结果,只是参数不同以完成其工作,为什么不应该给这两种方法取相同的名称呢?这样可以使您的代码更具可读性。

【讨论】:

  • 我以为编译器只使用了方法名,但我现在意识到,对于任何方法名,当我们不传递正确的参数时,它都会引发错误。所以一切都被用作组合。所以即使有 10 个方法同名也没关系。非常感谢
  • 很高兴我能提供帮助,请查看反射 API,了解更多详细信息。
【解决方案2】:

主要优点是代码简洁。否则,您将有许多方法以不同的名称执行类似的操作。

您还可以阅读this document 了解它的其他优点。

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    相关资源
    最近更新 更多