重载和重写是类的多态性的重要体现,也是两个比较容易混淆的概念,这里做个学习笔记,mark下
一、重写和重载的区别
1、override
概念:存在于子类中,对父类允许访问的方法进行重写,返回值和形参都不能改变,即外壳不变,核心重写,是父类和子类间多态性的体现。
//定义动物类
class Animals{
public void move() {
System.out.println("Animals can move");
}
}
//狗类继承动物类
class Dogs extends Animals{
//继承move动作,多态
public void move() {
System.out.println("Dogs can run");
}
//狗类具备吠的动作
public void bark() {
System.out.println("Dogs bark all the time");
}
}
//鸟类继承动物类
class Birds extends Animals{
//继承move动作,多态
public void move() {
System.out.println("Birds can fly");
}
}
public class overtest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//a,b,c都属于动物类,实际运行