A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梧桐树上的男人 中级黑马   /  2016-3-27 00:00  /  565 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

override可以改变返回值类型吗?

5 个回复

倒序浏览
方法重新是可以的
回复 使用道具 举报
可以.
但是改变后的类型必须是修改前类型的子类型..比如下面的情况

class Test1 {
public Object workO() {
return new Object();
}
}

class Test2 extends Test1 {
@Override
public String workO() {
return new String();
}
}

其中String是Object的子类型.
回复 使用道具 举报
y569489124 发表于 2016-3-27 00:12
可以.
但是改变后的类型必须是修改前类型的子类型..比如下面的情况

着就是传说中的子类重写父类
回复 使用道具 举报
着就是传说中的子类重写父类
回复 使用道具 举报
方法重写与返回值类型有关,返回值是一致(或者是子父类)的.也就是说不改变就与父类父类是一致的,改变的话,两种类型应该是子父类的关系.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马