java中重载和重写有什么区别吗?

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:05:02
java中重载和重写有什么区别吗?

很简单
重载是静态多态性,即同名不同参
重写就是覆盖,动态多态性,同名又同参
(都指子类与父类同名的方法)
他们写的太多了,没有必要

当然有区别
在JAVA中:

1. 重载是一个类中声明了多个同名的方法,但有不同的参数个数和参数类型。

2. 重写是指在子类中声明与父类同名的方法,从而覆盖了父类的方法。重构解决了子类与父类的差异问题。

例子如下:

//重载
class A {
public overloding (){};
public overloding (str){};
public overloding (str1,str2){};
}
//重写
class B extends A{
public overriding (a,b){};
}

方法重载:
在同一个类中,定义了多个方法,具有相同的方法名,不同的参数列表;(同构造器)
4.方法覆盖/方法重写:
条件规定:
前提:在继承体系结构中

三个相同:子类定义了一个方法,与父类具有:
a.相同的方法名;
b.相同的返回值类型;
c.相同的参数列表.
两个限定:
a.子类方法的范围限定不能小于父类方法的范围限定;
b.子类方法不能抛除更多的异常.

重载:
1.在同一个类内
2.方法名相同,参数不同:
参数的个数不同,
参数的个数相同,类型不相同
参数的类型不同,
参数的类型相同,个数不相同
例:
public void test(){}
public void test(int i){}
public void test(int i, int j){}
public void test(double d){}<