理解
重写和重载都是子类在继承时对父类中的方法进行重新操作的方式,先从字面意思进行理解,重写大概也就是对方法内容进行“重新编写”,重载大概就是“重新载入”,形参和返回值都可以改。
差别
代码例子
把Animal类作为父类。
public class Animal {
public void eat() {
System.out.println("I can eat");
}
}
Dog类继承了Animal类。
public class Dog extends Animal {
public void eat() { //对Animal类中的eat()方法进行重写,注意形参和返回值都没改变
super.eat(); // 这里调用的是父类的方法
System.out.println("I can eat bone");
}
public void eat(String foot) { //对Animal类中的eat()方法进行重载,注意形参必须改变,返回值可以变,也可以不变。
System.out.println("狗爱吃:"+foot);
}
public void bark(){
System.out.println("狗可以吠叫");
}
public static void main(String[] args) {
Dog dog1 = new Dog();
dog1.eat();
String food = "gouniang";
dog1.eat(food);
dog1.bark();
}
}
运行结果: