dabocaiqq
2020-07-13 17:22
采纳率: 66.6%
浏览 103

高分悬赏:Java语言为什么不能靠函数的返回的不同构成重载,必须要通过参数的不同

高分悬赏:Java语言为什么不能靠函数的返回的不同构成重载,必须要通过参数的不同

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 已采纳

    重载的本质就是参数类型或者参数个数不同的,定义的时候按需要定义参数个数就可以了呀。

    已采纳该答案
    打赏 评论
  • WriteProcessMomory 2020-07-13 18:04

    不同的返回类型或者反回值吗,从你自身角度去思考觉得它有意义吗?可以返回object类型进行二次拆箱操作。不然就要很多个大致相同荣的方法,增加维护量。

    再则有泛型

    打赏 评论
  • 黑羽真兔 2020-07-13 18:36

    打个比方,一个家庭有一对双胞胎,都是男的,你还给他们取了个相同的名字。有一天,你想叫双胞胎其中的一个去帮你买点东西,
    结果他们两个也不知道你叫的是他们两个中的哪一个,就都去买了,是不是东西就买多了呢?本来你只想要一份,结果却买了两份;
    如果是龙凤胎,就算你给他们取了相同的名字,但总有性别之分吧,你只要说一下,让男的还是女的去帮你做事,是不是就不会出现重复的东西。
    再者说,java根本就编译通不过

    打赏 评论
  • 浴火_凤凰 2020-07-13 18:59

    一句话:通过函数参数 在你的代码调用之前就知道调用的是否正确。
    如果通过返回值区分 那只有等代码执行了 返回了 才能知道调用的是不是对。
    很明显这个逻辑是错的。

    打赏 评论
  • 。过河卒 2020-07-14 10:40

    在java的表达式中,接收返回值不是必要部分,调用有返回值得方法、可以不接收参数,当不接收返回值时,语法和编译不会报错,程序可以正常运行,接收返回值不是表达式的充分必要条件,因此返回值不能作为判断重载方法不同的条件;
    而且对于返回值,可以用父类\接口类 去接收(父类的引用指向子类的实例,最常见的是构造方法,分层和面向接口编程时,通常会用创建接口引用,为其注入实现类的实例),当一个父类\接口有多个子类\实现类时,返回值也无法区分;

    打赏 评论

相关推荐 更多相似问题