问一个关于“重载”和“重写”的问题? 问题一:“重载”的时候,方法的返回类型是否一定要相同?问题二:“重写”的时候,方法的返回类型是否一定要相同?我看了网上有的人对这两个概念的分析,自己又写了类去验证,可是还是不能确定,希望有知道的回复一下,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题一:“重载”的时候,方法的返回类型是否一定要相同? ------不一定要相同。要注意的是:java不允许参数都相同仅返回值不同的重载。问题二:“重写”的时候,方法的返回类型是否一定要相同? ------重写,也就是覆盖,方法的参数以及返回值必须相同。 1楼说的“协变式返回(如返回类的子类)”应该是不允许的。1楼自己实际试过么?我最近写的代码还打算覆盖 Object.clone(), 不返回 Object,而是返回当前类类型,结果不允许。 1楼说的“协变式返回(如返回类的子类)”应该是不允许的。1楼自己实际试过么? 我最近写的代码还打算覆盖 Object.clone(), 不返回 Object,而是返回当前类类型,结果不允许。===================你确定????做梦了把协变也只不过是编译器加入bridge方法 我说的没错,你说的那种所谓“协变式返回”是jdk5才引入的概念,老版本的java是不允许的。你自己可以去试试。 一楼回答的是正解 JAVA是支持可以协变式返回的 重载是实现java多态的一种方式,通过你传入参数数量、类型、顺序的不同,而进行不同的处理,返回类型并不强制要一致,跟你需求有关。换句话说,你想怎么做就怎么做,但方法名必须保持一致,不然就不叫方法的重载了。覆写是指子类在继承父类时发生,当子类的方法与父类方法名、返回类型、参数个数、数量、顺序完全一致的,该方法将屏蔽掉父类的方法,你可以通过super关键字来调用父类的方法。 maybeShowPopup 一个JAVA定时器的疑惑 请问怎么用JAVA在aix环境中创建一个文本文件?( 急!!!) 二维的ArrayList,里面的ArrayList存放String,怎么写? 大家好,我以前连接过SQL SERVER数据库,现在转ORACLE了,该怎么做 召集初级JAVA程序员,组建网络团队学习JAVA 关于日期 读取文件问题,解决就揭贴 请教一个Java的“窗口生成”的小异常原因. 请问怎样把一个Jtextarea里面的文字,读到stringbuffer里面,谢谢 邮件地址的正则表达式 请问下面代码如何实现模态
------
不一定要相同。要注意的是:java不允许参数都相同仅返回值不同的重载。问题二:“重写”的时候,方法的返回类型是否一定要相同?
------
重写,也就是覆盖,方法的参数以及返回值必须相同。
我最近写的代码还打算覆盖 Object.clone(), 不返回 Object,而是返回当前类类型,结果不允许。
我最近写的代码还打算覆盖 Object.clone(), 不返回 Object,而是返回当前类类型,结果不允许。===================你确定????
做梦了把协变也只不过是编译器加入bridge方法