重载
重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
在一个程序中,如果要用到同一个方法,并且用到方法时,所使用的数据类型不同,或者数据的个数、顺序不同,可以用到方法的重载。
重写
重写需要有继承关系,方法名相同,参数相同,重写父类的方法。
方法重写需满足:
1. 父类中的方法和子类中的方法
2. 方法名必须一致
3. 方法参数必须一致
4.子类的方法的访问修饰符不能缩小访问权限
5.返回值类型要一致
有个动物类,动物类中有个睡觉的方法,而猫和狗也有睡觉的方法
public class Animal {
public void sleep(){
System.out.println("动物会睡觉");
}
}
创建一个狗的类,它也有睡觉的方法
public class Dog extends Animal{
@Override
public void sleep() {
System.out.println("狗会睡觉");
}
}
创建一个猫的类,它也有睡觉的方法
public class Cat extends Animal{
@Override
public void sleep() {
System.out.println("猫会睡觉");
}
}
创建一个Test类测试
public class Test03 {
public static void main(String[] args) {
Dog dog = new Dog();
dog.sleep();
Cat cat = new Cat();
cat.sleep();
}
}
结果:
总结:
重写的方法参数列表必须相同,而重载的方法参数列表必须不同,重写的方法的返回值类型只能是父类类型或者父类类型的子类,而重载的方法对返回值类型没有要求。