先来了解一下这两个名词的含义。java
重载: 在一个类当中才能够重载,方法名相同,参数个数不一样或参数个数相同而参数类型不一样。ide
覆盖: 又称重写,在派生类(子类)中重写基类(父类)的方法,名称、参数、类型都必须相同。函数
java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同可是参数不一样的状况。与此相对,方法覆盖是说子类从新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。spa
覆盖者可能不会限制它所覆盖的方法的访问。继承
(1)方法重载是让类以统一的方法处理不一样类型数据的一种手段。多个同名函数同时存在,具备不一样的参数个数(类型)。重载Override是一个类中多态性的一种表现。io
(2)java的方法重载,就是在类中能够建立多个方法,他们具备相同的名字,但具备不一样参数和不一样的定义。调用方法时经过传递给他们不一样的参数个数和参数类型来决定具体使用那个方法,这就是多态性。权限
(3)重载的时候,方法名要同样,可是参数类型和个数不同,返回值类型能够相同也能够不一样。没法以返回类型来做为重载函数的区分标准。引用
注意:方法
1.重载不能以返回值做为区分标准;数据
2.重载不能以形参的不一样名称(例如形参int a和形参int b没法区分)做为区分标准。
(1)父类与子类的多态性,对父类的函数进行从新定义。若是在子类中定义某方法与其父类有相同的名称和参数,咱们说该方法被重写。在java中,子类可继承父类的方法,则不须要从新编写相同的方法。但有时子类并不想原封不动继承父类的方法,而是想作必定的修改,这就采用方法重写。方法重写又称方法覆盖。
(2)若子类中的方法与父类的中的某一方法具备相同的方法名、返回类型和参数表,则新方法覆盖原有的方法。如须要父类的原有方法,可使用super关键字,该关键字引用房钱类的父类。
(3)子类函数访问权限大于父类。
顺便提一下,java中代码书写方法时,特别要注意的一点:java中方法只能平级书写,方法不能嵌套方法。