黑马程序员技术交流社区
标题:
overload和override
[打印本页]
作者:
GeXiaoChao
时间:
2016-7-11 22:19
标题:
overload和override
Override和Overload的区别?Overload是否可以改变返回值类型?
作者:
aslwq2012
时间:
2016-7-11 22:49
重载可以改变返回值类型,看定义可知,类名相同,参数列表不同,与返回值类型无关
作者:
芒果小姐
时间:
2016-7-11 23:45
重载 方法名相同 参数列表不同 与返回值类型无关
重写 方法名相同 返回值与子父类必须一模一样
作者:
夏萱
时间:
2016-7-12 17:22
overload重载是同名函数,用参数区分,
目的在于同一个功能的方法,可以接收不同类型的参数,如fun(int a) fun(string a)。
override是重写,就是覆盖掉以前的函数,目的是这个函数在子类和父类中功能不一致,但是函数名,参数和返回值相同。
作者:
745661590
时间:
2016-7-13 00:14
重载:两同一不同,同一个类中方法名相同,参数列表不同。至于方法其他的部分与方法重载没有任何关系。
重写:两同两小一大,“两同”即方法名相同,形参列表相同;“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等
作者:
745661590
时间:
2016-7-13 00:32
重载:两同一不同,同一个类中方法名相同,参数列表不同。至于方法其他的部分与方法重载没有任何关系。
重写:两同两小一大,
“两同”即方法名相同,形参列表相同;
“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;
“一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。
http://bbs.itheima.com/forum.php ... p;extra=#pid2606699
作者:
745661590
时间:
2016-7-13 00:34
这个相信大家都知道,那么不同返回类型或者抛出的异常声明可以重载吗?答案是不可
以,那么为什么不可以呢?
public class Test {
public void fn(String name) {}
public String fn(String name) { //Error
return null;
}
public void fn(String name) throws Exception {} //Error
}
因为返回类型和抛出的异常声明是在执行完该方法(运行时)才知道的,所以fn
("Bruce")调用程序不知道去执行哪一个方法。
作者:
他的好
时间:
2016-7-13 01:35
overload是方法重载,在同一个类中,跟返回值无关,跟参数列表有关
override是方法重写,子类重写父类的方法,方法申明一模一样,返回值可以和子类或父类一致
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2