重写
1.发生在父类和子类中
2.方法名,参数列表必须相同
3.方法返回值范围小于等于父类
4.抛出的异常范围小于等于父类
5…访问修饰符范围大于等于父类
6.若父类方法访问修饰符为private,则子类不能重写该方法。
class Animal{
public void eat() {
System.out.println("动物吃东西");
}
}
class Cat extends Animal{
public void eat() {
System.out.println("猫吃东西");
}
}
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
Animal b = new Cat();
a.eat();
b.eat();
}
}
//输出结果
//动物吃东西
//猫吃东西
重载
1.发生在同一个类中
2.方法名必须相同,参数类型,参数个数,参数顺序不同
3.方法返回值可以不同
4.访问修饰符可以不同
class Cat extends Animal{
public void eat() {
System.out.println("猫吃东西");
}
public void eat(int a,int b) {
System.out.println("猫吃东西"+ a+ b);
}
}
public class Test {
public static void main(String[] args) {
Cat a = new Cat();
a.eat();
a.eat(1, 2);
}
}
//输出结果
//猫吃东西
//猫吃东西12