黑马程序员技术交流社区

标题: 方法重载和方法重写有啥区别呀? [打印本页]

作者: 小强v587    时间: 2015-10-31 11:06
标题: 方法重载和方法重写有啥区别呀?
方法重载和方法重写有啥区别呀?
作者: 大自然的搬运工    时间: 2015-10-31 19:02
方法重载是在一个类里多个定义,只是参数列表不同或返回值不同,
方法的重写是子类重新定义父类或接口中的同名函数实体部分。函数名返回值参数列表都不可以改变,函数体代码块可以改变。
作者: ゞ神说    时间: 2015-10-31 20:01
重载:一个类中有一个方法A,你又在这个类中创建了一个方法B,方法B的名字和A一样,返回值类型也一样,但是参数的类型或个数不同,此时B重载了A。例如:
public class TestClass{
public int test(int i){return 1;}
public int test(float f){return 1;}
}

重写:一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A。
例如:

public class TestClass1{
public int test(int i){return 1;}
}

public class TestClass2 extends TestClass1{
public int test(int i){return 2;}
}
作者: yanyubang    时间: 2015-10-31 20:06
方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的
方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。
作者: 陈威    时间: 2015-10-31 20:18
重写只存在于继承中,
重载只是函数 1、方法名相同
                   2、参数列表不同




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