方法重载
作用:在一个对象中为同一个方法提供不同的选择方式。
构成要素:
(1)方法名称必须相同
(2)参数列表不同(个数不同、类型不同)
public Student(String n) {
System.out.println("带参数构造方法");
}
//实现构造方法重载
public Student() {
System.out.println("空构造方法");
}
在同一类中,定义多个同名不同参数列表的方法,和方法的返回值,访问权限无关(多同名不同参)
方法重写
在子类中定义一个和父类中同名同参数列表同返回值的方法,访问权限不能小于父类(同名同参同返回值)
package com.newer.oop;
/*
* 动物类
*/
public class Animal {
// 定义一个吃东西的方法
public void eat() {
System.out.println("吃东西");
}
}
package com.newer;
import com.newer.oop.Animal;
//兔子类
public class Rubbit extends Animal {
@Override
public void eat() {
System.out.println("兔子吃胡萝卜");
}
区别:
重载:
1.Overloading
2.名称相同,参数类型或个数不同
3.对权限无要求
4.发生在一个类中
重写:
1.Overriding
2.名称、参数类型、参数个数完全相同
3.重写的方法不能拥有比父类更严格的权限
4.发生在继承当中