黑马程序员技术交流社区

标题: 方法重写 [打印本页]

作者: 梧桐树上的男人    时间: 2016-3-27 00:00
标题: 方法重写
override可以改变返回值类型吗?
作者: toxic罐头儿    时间: 2016-3-27 00:10
方法重新是可以的
作者: y569489124    时间: 2016-3-27 00:12
可以.
但是改变后的类型必须是修改前类型的子类型..比如下面的情况

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

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

其中String是Object的子类型.
作者: 北极1989    时间: 2016-3-27 00:18
y569489124 发表于 2016-3-27 00:12
可以.
但是改变后的类型必须是修改前类型的子类型..比如下面的情况

着就是传说中的子类重写父类
作者: 北极1989    时间: 2016-3-27 00:19
着就是传说中的子类重写父类
作者: Laopozini123    时间: 2016-3-27 08:24
方法重写与返回值类型有关,返回值是一致(或者是子父类)的.也就是说不改变就与父类父类是一致的,改变的话,两种类型应该是子父类的关系.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2