黑马程序员技术交流社区

标题: overload和override的具体区别到底是啥? [打印本页]

作者: yingsun    时间: 2014-9-26 22:13
标题: overload和override的具体区别到底是啥?
视频里,张大爷讲的很隐晦啊!有详细点版本的么?
作者: a986875894    时间: 2014-9-27 07:48
一个是重写一个是复写。。。
作者: yingsun    时间: 2014-9-27 14:06
a986875894 发表于 2014-9-27 07:48
一个是重写一个是复写。。。

你这说了和没说一样啊!
作者: ζ_____________    时间: 2014-9-27 14:21

//Overload是发生在同一个类中的关系,是根据相同方法中参数类型和参数个数不同来实现的.EG:

class OverloadTest
public void func1(){};
public void func1(int a , int b ){};
//根据上面 这种情况来说,相同的函数是不允许同时出现,但是在函数的参数个数和参数的类型不相同.这样就可以根据在调用时所写的实参来进行判断调用哪个方法了.

//Overrride是发生在子父类继承之间的关系,是根据相同的方法名,参数来覆盖父类中的相同的方法来实现的.EG:

class OverrrideTest1
{
          public void func1(int a){};
}


class OverrrideTest2 extends OverrrideTest1
{
        public void func1(int a){};
}

//虽然 Test1中有相同的方法,但是有可能这个方法不是我们所需要的,这个时候就需要将父类中的方法进行重写(复写),来实现我们所需要的方法.

作者: Fightin黑马    时间: 2014-9-28 11:04
overload是重载,重载是在同一个类中,方法名相同,参数列表不同,与返回值类型无关
override是重写,重写是在子父类或者实现类与接口中,需要返回值类型 ,方法名,参数列表完全相同




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