方法重载:
(1)方法重载是指在同一个类中的方法。
(2)方法名必须相同,参数列表不同(参数个数,顺序,类型)
(3)方法返回值类型,访问修饰符不做限制。
下面代码中Dog类的sleep()方法就是重载。
public class Dog extends Animal {
private String sex;
public Dog() {
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
//睡觉的方法
public void sleep() {
System.out.println(this.getName()+"现在"+this.getMonth()+"个月大,它在睡觉");
}
public void sleep(String str) {
}
public void sleep(int i,String str) {
}
public void sleep(String str,int i) {
}
}
方法重写:
所谓的方法重写,子类方法的返回值类型,方法名,参数的类型,个数,顺序都必须与父类相同。
(1)所谓的方法重写是在有继承关系的子类中,子类重写父类的方法。
(2)方法名相同,返回值类型相同,参数列表相同(参数的类型,个数,顺序都必须与父类相同)。
(3)访问修饰符可以修改,但访问修饰符的范围需要大于等于父类的范围。
(4)重写的方法中参数名字不做要求,可以和父类不同。
(5)虽然重写是指重写方法,但在子类中可以定义与父类相同名字的成员属性,这时候子类定义的成员属性就重写了父类的成员属性。
(6)静态方法和最终方法不能被重写;但静态方法在子类中可以通过隐藏父类方法的方式重新实现。
(7)重写方法访问权限必须大于等于父类方法。