方法重载(Overload)
方法重载:在同一个类中,方法名相同,参数列表不同(参数个数不同,参数类型不同,参数顺序不同)
注意:与参数返回值类型无关
例如:
public void show(String name){}
public int show(int age){}
满足在同一个类中,方法名相同,参数类型不同,所以是方法重载
这两个方法也说明了与返回值类型
public Student(){}
public Student(String name,int age){}
满足在同一个类中,方法名相同,,参数个数不同,所以是方法重载
注意:这里是构造方法的重载
方法重写(Override)
方法重写:当子类继承父类时,可以从父类继承它的属性和方法,如果从父类继承的方法不能满足子类的需求,可以对其改写,这个过程叫做方法的重写
重写注意的事项(三要素):
1)重写只能存在于子类和父类之间
2)子类的方法名称、输入参数、以及返回值类型完全一致或子类方法返回值类型是父类方法返回值类型的子类
3)子类方法权限不能比父类方法更加严格
注意:重写的前提是先继承了父类的方法
注意事项:
如果子类中的成员变量、静态变量以及静态方法和父类成员变量、静态变量以及父类成员变量相同,这种情况不是重写,可以认为是隐藏,只有非静态的成员方法之间才是重写.
重写和重载的对比: